Infra/Kubernetes & EKS

helm 소개 및 기초 명령어 예시 정리

jimmy_AI 2023. 11. 29. 00:11
반응형

helm이란?

쿠버네티스 환경에서 패키지 관리자 역할로,

복잡한 쿠버네티스 yaml 파일을 세세히 작성하지 않아도 기본적인 세팅을 도와주고

애플리케이션 설치, 업그레이드, 관리가 매우 용이하게 해줍니다.

 

pip install로 파이썬 모듈을 쉽게 설치할 수 있는 것과 유사한 원리로 생각하면 됩니다.

여기서는 '모듈' 대신 '차트'라는 표현을 주로 사용합니다.

 

 

helm 설치

아래의 공식 사이트의 설명을 따라하면 쉽게 설치가 가능합니다.

https://helm.sh/ko/docs/intro/install/

 

헬름 설치하기

헬름 설치하고 작동하는 방법 배우기.

helm.sh

 

 

helm search repo

helm search repo로 설치 가능한 차트를 검색할 수 있습니다.

예를 들어, nginx와 관련된 repo를 모두 검색하려면 다음 명령어로 검색이 가능합니다.

helm search repo nginx

 

 

helm repo add

helm repo add로 해당 차트 repo를 추가할 수 있습니다.

repo 추가 이후에는 helm install로 차트 설치가 가능해집니다.

 

사용 방법은 helm repo add <repo-name> <repo-url>인데,

명령어 예시는 다음과 같습니다.

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

 

 

helm install

helm install로 등록된 레포의 차트를 바로 설치할 수 있습니다.

 

사용 예시는 다음과 같습니다.

# stable/nginx를 my-nginx 이름으로 설치
helm install my-nginx stable/nginx

# values.yaml 파일을 적용한 내역으로 설치
helm install -f values.yaml my-nginx stable/nginx

# name이라는 값을 prod로 적용하여 설치(소수의 값을 바꿀 때 유용)
helm install --set name=prod my-nginx stable/nginx

 

반응형

 

참고: 상세한 helm install 사용법 예시: https://helm.sh/ko/docs/helm/helm_install/

 

Helm Install

헬름 - 쿠버네티스 패키지 매니저

helm.sh

 

 

helm uninstall

설치된 차트를 제거하는 것은 helm uninstall로 쉽게 가능합니다.

참고로, 이 과정을 진행하면 관련된 쿠버네티스 리소스도 모두 제거됩니다.

helm uninstall my-nginx

 

 

helm ungrade

차트를 최신 버전으로 업그레이드 하거나 일부 설정 값을 조정할 때 사용합니다.

# my-nginx 차트를 업그레이드하고, 서비스 타입을 LoadBalancer로 설정
helm upgrade my-nginx stable/nginx --set service.type=LoadBalancer

# 설치가 되어있지 않다면 설치를 진행, 설치가 되어있다면 업그레이드 진행
helm upgrade --install my-nginx stable/nginx --set service.type=LoadBalancer

 

 

helm show

차트의 정보를 보여줍니다. 세부 설정에 필요한 values.yaml 등의 파일을 가져올 때

유용하게 사용할 수 있습니다.

# stable/nginx 차트의 정보 확인
helm show chart stable/nginx

# stable/nginx 차트의 values를 확인하고, values.yaml 파일로 저장
helm show values stable/nginx > values.yaml