.jar 파일을 관리한다면, Helm은 **k8s yaml 파일 뭉치(Chart)**를 관리한다.Helm 없이 k8s를 운영하면 "복붙의 지옥"에 빠진다.
api 서비스를 Alpha, Beta, Real 환경에 배포해야 한다고 하자.deployment-alpha.yaml, deployment-beta.yaml, deployment-real.yaml 파일을 3개 복사해서 관리해야 한다.Helm은 이 문제를 **템플릿(Template)**과 **설정값(Values)**의 분리로 해결한다.
# deployment.yaml (Helm Template)
apiVersion: apps/v1
kind: Deployment
metadata:
name: { { .Values.appName } }
spec:
replicas: { { .Values.replicaCount } }
# values-real.yaml
appNAme: api-real
replicaCount: 10
helm install -f values-real.yaml
Maven Repository에서 라이브러리를 가져오듯, 남들이 잘 만들어둔 k8s 설정(Redis, MySQL, Jenkins, Promethus 등)을 명령어 한 줄로 설치할 수 있다
apt-get install nginxhelm install my-nginx bitnami/nginx내가 처음부터 Nginx용 Service, Deployment, ConfigMap YAML을 짤 필요 없이, 검증된 패키지를 다운받아 설치만 하면 끝이다.