helm이란?
쿠버네티스 환경에서 패키지 관리자 역할로,
복잡한 쿠버네티스 yaml 파일을 세세히 작성하지 않아도 기본적인 세팅을 도와주고
애플리케이션 설치, 업그레이드, 관리가 매우 용이하게 해줍니다.
pip install로 파이썬 모듈을 쉽게 설치할 수 있는 것과 유사한 원리로 생각하면 됩니다.
여기서는 '모듈' 대신 '차트'라는 표현을 주로 사용합니다.
helm 설치
아래의 공식 사이트의 설명을 따라하면 쉽게 설치가 가능합니다.
https://helm.sh/ko/docs/intro/install/
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 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
'Infra > Kubernetes & EKS' 카테고리의 다른 글
[EKS] ArgoCD 설치 및 ingress 설정 방법 (0) | 2023.12.09 |
---|---|
AWS EKS 클러스터 생성 방법 정리(eksctl 사용) (2) | 2023.12.05 |
AWS EKS 그라파나(Grafana) 접속 세팅 방법 (2) | 2023.11.21 |