릴리스 수명주기 (Using Helm)
릴리스 수명주기 (Using Helm)
차트를 클러스터에 설치하면 그 결과물 하나하나를 **릴리스(release)**라고 불러요. 같은 차트를 두 번 설치하면 두 개의 릴리스가 생기는 셈이죠. 여기서는 차트를 찾고, 설치하고, 설정을 바꾸고, 잘못되면 되돌리고, 필요 없어지면 지우는 전체 여정을 따라가 볼게요.
출처
'helm install': Installing a Package — To install a new package, use the
helm installcommand. 출처: https://helm.sh/docs/intro/using_helm/
차트 찾기: helm search
helm search는 두 가지 대상을 검색해요.
helm search hub: Artifact Hub에서 수십 개 저장소의 차트를 찾아요.helm search repo: 내가helm repo add로 추가해 둔 로컬 저장소를 검색해요. 로컬 데이터만 쓰므로 네트워크가 필요 없고요.
$ helm repo add brigade https://brigadecore.github.io/charts
"brigade" has been added to your repositories
$ helm search repo brigade
NAME CHART VERSION APP VERSION DESCRIPTION
brigade/brigade 1.3.2 v1.2.1 Brigade provides event-driven scripting of ...
설치하기: helm install
helm install은 릴리스 이름과 차트를 받아요.
$ helm install happy-panda bitnami/wordpress
차트는 저장소 이름(bitnami/wordpress), 로컬 차트 디렉터리, 압축 파일(.tgz), 전체 URL 어느 경로에서든 설치할 수 있어요.
$ helm install foo foo-0.1.1.tgz # 로컬 압축 차트
$ helm install foo path/to/foo # 풀어 놓은 차트 디렉터리
$ helm install foo https://example.com/charts/foo-1.2.3.tgz # URL
기본 설정 바꾸기는 설치 전에 하는 일이에요. 바꿀 수 있는 옵션을 보려면 helm show values로 확인하고요, YAML 파일을 만들어 -f(또는 --values)로 넘기거나 명령줄에서 --set으로 바로 덮어써요. -f는 여러 번 줄 수 있고 뒤쪽 파일이 우선해요.
업그레이드와 롤백: helm upgrade / helm rollback
새 차트 버전이 나오거나 설정을 바꾸고 싶을 때는 helm upgrade를 써요. Helm은 가능한 한 덜 침습적으로, 지난 릴리스 이후 바뀐 부분만 갱신해요.
$ helm upgrade -f panda.yaml happy-panda bitnami/wordpress
설정이 반영됐는지는 helm get values happy-panda로 확인할 수 있어요.
릴리스가 어긋나서 되돌리고 싶다면 helm rollback [RELEASE] [REVISION]으로 이전 리비전으로 돌아가요.
$ helm rollback happy-panda 1
여기서 **리비전(revision)**은 매번 설치·업그레이드·롤백 때마다 1씩 늘어나는 번호예요. 첫 리비전은 항상 1이고요, helm history [RELEASE]로 그동안의 리비전 이력을 볼 수 있어요.
유용한 옵션
--timeout: kubernetes 명령이 끝나기를 기다리는 Go duration 값. 기본은5m0s예요.--wait: 릴리스가 성공으로 표시되기 전에 Pod 준비, PVC 바인딩, Deployment 최소 Pod, Service IP 확보까지 기다려요. 시간이 넘으면 릴리스는FAILED로 표시돼요.--no-hooks: 그 명령의 훅(hook) 실행을 건너뛰어요.
제거하기: helm uninstall
릴리스가 필요 없어지면 helm uninstall로 제거해요.
$ helm uninstall happy-panda
현재 배포 중인 릴리스 목록은 helm list로 확인할 수 있어요.
더 알아보기
- 공식: Using Helm
- 공식: Helm Commands
- 공식: Quickstart Guide