기본 쿠버네티스 리소스 구성 방법에서 Helm으로 마이그레이션
- 기존 방법의 문제점 파악
- 어플리케이션 배포 자동화를 위한 GitOps 환경 구축
쿠버네티스 리소스 관리를 돕기 위한 패키지 매니저
- 로컬 코드 상태와 라이브 리소스 상태의 불일치
- 어플리케이션 수명주기 관리의 어려움
- 추상화된 리소스들의 복잡성
- 정적인 선언형 리소스
- 대규모 리소스 관리의 어려움(ex. 마이크로서비스)
- 리소스 복잡성의 추상화
- 릴리즈 이력 관리
- 동적으로 구성된 선언형 리소스, 지능형 배포
- 로컬 - 라이브 상태의 일관성 유지
- 라이프사이클 간 Hook 정의 가능
- 템플릿 기반 동적변수 설정을 통한 다양한 운영환경 관리 편의성
helm create <프로젝트 명>
으로 생성
./helm-chart
├── Chart.yaml # 차트 메타데이터(기본 정보)
├── charts # Chart 의존성 관리(다른 Chart를 체이닝 할 수 있음)
├── templates # 쿠버네티스 리소스를 정의하는 템플릿
│ ├── NOTES.txt
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── hpa.yaml
│ ├── ingress.yaml
│ ├── service.yaml
│ ├── serviceaccount.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml # 기본 차트 변수를 정의하여 템플릿에 주입