Helm
- 쿠버네티스는 하나의 애플리케이션 배포를 위해 수많은 yaml 파일을 작성 수정해야 함
- helm 은 위의 과정을 해결해줄 수 있는 패키징 툴
ubuntu - apt
,mac - brew
,python - pip
같은 거라고 보면 됨
- helm-chart는 쿠버네티스 리소스를 하나로 묶은 패키지
Helm 설치하기
Helm을 통해 애플리케이션 설치하기
# 설치
helm install wordpress
# 업그레이드
helm upgrade wordpress
# 롤백
helm rollback wordpress
# 삭제
helm uninstall wordpress
values.yaml
개념
- 쿠버네티스에서 어플리케이션 배포하기 위해서 설정해야 하는 값들이 무수히 많음
- 컨테이너 이미지 버전
- PV, PVC 의 용량
- Service의 포트
- 시크릿 키 등등
- 이 값들은
{{ .values.<var-name> }}
로 템플릿화 됨 - 그리고 사용자는
values.yaml
에 설정값을 저장하고 변경하면 됨
Chart.yaml
개념
- 패키지에 대한 정보를 기입한 metadata 파일
- 차트 작성 또는 다른 유저들에 의해 업로드 된 차트 확인은 다음을 참고
- https://artifacthub.io Repository
- 또는
helm search hub <chart-name>
artifacthub 이외 다른 Repository를 추가하고자 한다면
예시)
- 추가:
helm repo add bitnami https://charts.bitnami.com/bitnami
- 조회:
helm repo list
- Repository 내 차트 검색:
helm search repo <chart-name>
artifacthub, bitnami, hashicorp 등 여러가지가 있음.
Repository 통해서 Helm chart 설치하기
helm install <release-name> <chart-name>
- 다운, 추출, 설치가 진행됨
# 로컬로 받아진 차트 조회
helm list
# 차트로 생성된 애플리케이션 삭제
helm uninstall <release>
# install은 하지 않고 다운받고 압축만 풀기
helm pull --untar <chart-name>
# 압축 푼 chart 설치하기
helm install <release> <chart-path>
helm pull
을 통해 helm chart 파일을 압축해제+다운 받고values.yaml
파일의 값을 수정해 배포하는 방식으로 주로 사용함.