0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · 강의

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.yaml

Helm을 사용한 롤백

Helm은 모든 릴리스를 번호가 매겨진 리비전으로 추적합니다. 배포가 잘못되면 즉시 롤백할 수 있습니다.

빠르고 결정론적으로 동작하므로 재해 복구 관행과도 잘 맞습니다.

helm history myapp
helm rollback myapp 3

패키징 및 게시

차트는 버전이 지정된 아카이브로 패키징하여 차트 저장소나 OCI 레지스트리에 컨테이너 이미지와 같은 방식으로 푸시할 수 있습니다.

따라서 다른 팀에서 버전으로 차트를 사용할 수 있습니다.

helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/charts

Helm 배포 작업

이제 모든 내용을 결합해 보겠습니다. 클러스터에 인증하고 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Actions로 Docker 이미지 빌드
  2. 레지스트리에 이미지 푸시
  3. Actions로 Kubernetes에 배포
  4. CI/CD의 Helm 차트 및 Kubernetes 매니페스트
← CI/CD with GitHub Actions & DevOps Pipelines(으)로 돌아가기