Helm chart의 모든 것
· 약 5분
Helm
Helm is a tool for manaing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources.
- 헬름은 쿠버네티스 차트를 관리하기 위한 도구
- 차트는 사전 구성된 쿠버네티스 리소스의 패키지
- 같은 어플레케이션을 여러 환경에 배포시 환경 변수, 도메인 등의 manifest 파일을 차트를 통해 관리
- 차트를 중심으로 하는 쿠버네티스 개발 종합 관리 도구
설치
## 설치
brew install kubernetes-helm
## 초기화
helm init
## tiller 파드 확인
kubectl -n kube-system get service,deployment,pod --selector app=helm
## 버전 확인
helm version
구성
- cli와 쿠버네티스 클러스터에 설치되는 서버인 tiller(틸러)로 구성
chart
- 쿠버네티스는 service, deployment, ingress 등 리소스를 생성하고 manifest 파일을 적용하는 방식으로 어플리케이션을 배포한다. 이 manifest 파일을 생성하는 템플릿을 여러 개 패키징한 것
- helm repository 에 tgz 파일로 저장
chart 구성
chart-example
├── charts # 차트가 의존하는 차트 디렉토리
├── templates # manifest 파일 템플릿 디렉토리
│ ├── NOTES.txt # 차트 사용법 등 참조 문서 템플릿
│ ├── _helper.tpl # manifest 렌더링에 사용되는 템플릿 헬퍼
│ └── example.yaml # 각종 K8S 리소스의 manifest 템플릿
├── Chart.yaml # 차트 정보가 정의 파일
└── values.yaml # 차트 기본값 value 파일
차트 설치시 values.yaml
에 override 할 값을 정의한 yaml
파일을 만들면 된다.