CI/CD의 Helm 차트 및 Kubernetes 매니페스트
Helm 차트로 Kubernetes 배포를 패키징하고 버전 관리하며 환경별 구성을 템플릿화하고 GitHub Actions에서 차트 릴리스를 자동화해 보세요.
CI/CD의 Helm 차트 및 Kubernetes 매니페스트은(는) CoddyKit의 무료 CI/CD with GitHub Actions & DevOps Pipelines 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 CI/CD with GitHub Actions & DevOps Pipelines 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. CI/CD with GitHub Actions & DevOps Pipelines 강의에는 총 4개의 강의가 포함되어 있습니다.
매니페스트 확산 문제
쿠버네티스에 배포하려면 여러 YAML 매니페스트, 즉 배포, 서비스, ConfigMaps, 인그레스를 작성해야 합니다. 환경마다 이를 복사하면 곧 관리하기 어려워집니다.
헬름은 매니페스트를 재사용 가능하고 버전이 지정된 차트로 패키징하여 이 문제를 해결합니다.
헬름이란 무엇인가
헬름은 쿠버네티스용 패키지 관리자입니다. 차트는 템플릿으로 만든 매니페스트와 기본값을 묶은 패키지입니다.
Chart.yaml— 차트 메타데이터 및 버전values.yaml— 기본 구성templates/— 매니페스트 템플릿
차트 구조
일반적인 차트 디렉터리는 다음과 같은 형태입니다. 헬름은 값을 사용하여 템플릿을 렌더링하고 최종 쿠버네티스 YAML을 생성합니다.
mychart/
Chart.yaml
values.yaml
templates/
deployment.yaml
service.yaml값으로 템플릿 만들기
템플릿은 values.yaml에서 값을 가져오는 자리 표시자를 사용합니다. 따라서 하나의 템플릿으로 여러 환경을 구성할 수 있습니다.
# templates/deployment.yaml
spec:
replicas: {{ .Values.replicaCount }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}환경별 값
환경별로 별도의 값 파일을 유지하고 설치할 때 전달하십시오. 스테이징은 복제본 1개를 실행하고 프로덕션은 5개를 실행할 수 있습니다.
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--namespace production설치와 업그레이드 비교
helm upgrade --install 명령은 멱등적입니다. 릴리스가 없으면 설치하고, 있으면 업그레이드합니다.
이 하나의 명령은 첫 배포와 이후 배포 모두에서 작동하므로 CI/CD에 적합합니다.
CI에서 이미지 태그 설정
CI에서는 일반적으로 --set을 사용하여 새로 빌드한 이미지 태그(대개 커밋 SHA)를 주입합니다.
이렇게 하면 쿠버네티스 릴리스가 파이프라인에서 방금 생성한 정확한 아티팩트에 연결됩니다.
- run: |
helm upgrade --install myapp ./mychart \
--set image.tag=${{ github.sha }}차트 검사
배포하기 전에 helm lint로 차트의 유효성을 검사하고 helm template으로 렌더링하여 YAML 또는 템플릿 작성 오류를 조기에 찾아내십시오.
- run: helm lint ./mychart
- run: helm template myapp ./mychart -f values-prod.yamlHelm을 사용한 롤백
Helm은 모든 릴리스를 번호가 매겨진 리비전으로 추적합니다. 배포가 잘못되면 즉시 롤백할 수 있습니다.
빠르고 결정론적으로 동작하므로 재해 복구 관행과도 잘 맞습니다.
helm history myapp
helm rollback myapp 3패키징 및 게시
차트는 버전이 지정된 아카이브로 패키징하여 차트 저장소나 OCI 레지스트리에 컨테이너 이미지와 같은 방식으로 푸시할 수 있습니다.
따라서 다른 팀에서 버전으로 차트를 사용할 수 있습니다.
helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/chartsHelm 배포 작업
이제 모든 내용을 결합해 보겠습니다. 클러스터에 인증하고 Helm을 설정한 다음 업그레이드합니다. Azure setup-helm 작업은 실행기에 CLI를 설치합니다.
- uses: azure/setup-helm@v4
- run: |
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--set image.tag=${{ github.sha }} \
--wait빠른 확인
CI/CD에서 Helm을 어떻게 사용하는지 이해했는지 테스트해 보세요.
요약
Helm으로 Kubernetes 앱을 배포하는 방법을 배웠습니다.
- 차트는 템플릿이 적용된 매니페스트와
values.yaml을 패키징합니다. - 환경별 values 파일로 스테이징과 프로덕션을 구성합니다.
helm upgrade --install은 멱등적인 CI 배포 명령입니다.- 리비전을 사용하면 즉시 롤백할 수 있으며, 차트는 이미지처럼 게시할 수 있습니다.
Helm은 원시 매니페스트를 버전이 지정된 재사용 가능한 릴리스로 바꿉니다.
자주 묻는 질문
“CI/CD의 Helm 차트 및 Kubernetes 매니페스트” 강의는 무료인가요?
네 — “CI/CD의 Helm 차트 및 Kubernetes 매니페스트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 CI/CD with GitHub Actions & DevOps Pipelines 강의 전체를 잠금 해제할 수 있습니다. CI/CD with GitHub Actions & DevOps Pipelines 강의에는 총 4개의 강의가 포함되어 있습니다.
“CI/CD의 Helm 차트 및 Kubernetes 매니페스트”에서 뭘 배우나요?
Helm 차트로 Kubernetes 배포를 패키징하고 버전 관리하며 환경별 구성을 템플릿화하고 GitHub Actions에서 차트 릴리스를 자동화해 보세요. 브라우저에서 직접 실행하는 실습 코드로 CI/CD with GitHub Actions & DevOps Pipelines을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
CI/CD with GitHub Actions & DevOps Pipelines을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 CI/CD with GitHub Actions & DevOps Pipelines은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“CI/CD의 Helm 차트 및 Kubernetes 매니페스트” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 CI/CD with GitHub Actions & DevOps Pipelines 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 CI/CD with GitHub Actions & DevOps Pipelines 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Actions로 Docker 이미지 빌드
- 레지스트리에 이미지 푸시
- Actions로 Kubernetes에 배포
- CI/CD의 Helm 차트 및 Kubernetes 매니페스트