
helm은 쿠버네티스 패키지 매니저이다. 우리가 알고있는 패키지 매니저는 apt, yum, pip, npm 등이 있다. 이런 툴들과 비슷하게 플랫폼의 패키지를 관리한다.
helm을 이용하여 원하는 패키지를 쿠버네티스에 손쉽게 설치할 수 있다. helm 패키지 또한 YAML 형식으로 구성되어 있으며, 이것을 chart라고 한다.
chart는 helm의 리소스 패키지로, k8s cluster에서 애플리케이션이 기동되기 위해 필요한 모든 리소스들이 포함되어 있다.
helm chart의 구조는 크게 Chart.yaml, values.yaml, template 디렉토리 구조로 구성된다.
Deployment, Service등과 같은 쿠버네티스 리소스가 YAML 파일 형태로 들어가 있다. 각 파일들의 설정값은 비워져 있고 values.yaml에서 설정한 값들로 채워진다. 차트의 저장소로서, 차트를 모아두고 공유하는 장소이다. (Docker hub와 비슷)
쿠버네티스 클러스터에서 돌아가는 app(chart instance)들은 모두 고유의 release 버전을 가지고 있다.
curl -ssl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
# 버전 확인
helm version --short
# repository 추가
helm repo add stable https://charts.helm.sh/stable
# chart list 확인
helm search repo stable
# chart 업데이트
helm repo update