7/21-22

Helm

지금까지 kubectl 명령으로 YAML 오브젝트 파일을 생성, 수정, 관리 했음

→ 웹 애플리케이션 하나를 구성하기위해 여러 오브젝트 파일이 필요하다고 가정하면, 일일이 구성하고 관리하는게 번거로움

⇒ Helm은 이런 관리의 복잡함을 Helm 차트라는 구성으로 여러 YAML 오브젝트 리소스를 하나의 패키지로 구성, 배포 및 관리를 쉽게 할 수 있다.

Helm은 쿠버네티스 클러스터의 클라이언트로 접속 가능한 쿠버네티스 클러스터가 준비되어 있어야한다.

또한 kubectl 명령과 API 서버에 적절히 접근하기 위한 kubeconfig 파일이 있어야 Helm도 쿠버네티스 클러스터에 접근할 수 있다.

헬름

k8s와 별개의 오픈소스

v2

v2

v2 vs v3

v2 vs v3

Helm v2와 Helm v3는 명령어 사용법이 다르다.

v2는 Tiller라는 서버측 구성요소가 있어 클라이언트인 Helm 명령과 gRPC로 통신하며, Tiller가 쿠버네티스 API 서버와 통신하는 구조였다.

v3는 별도의 서버 측 구성요소가 없고, 클라이언트인 Helm 명령과 쿠버네티스 API 서버가 통신한다.

설치

curl -fsSL -o get_helm.sh <https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3>
chmod 700 get_helm.sh
./get_helm.sh
u

자동완성

helm completion bash | sudo tee /etc/bash_completion.d/helm
exec bash