Helm은 Kubernetes의 패키지 관리자이며, Ubuntu의 apt, Node.js의 npm과 유사한 역할을 한다. Kubernetes 애플리케이션을 Chart라는 단위로 패키징하여 효율적으로 관리할 수 있다.
Helm은 Kubernetes에서 애플리케이션 배포를 반복적이고 복잡하게 만드는 수많은 YAML 파일들을 하나의 패키지(Chart)로 묶어 관리할 수 있도록 도와준다. 설정 값은 values.yaml로 분리하여 환경마다 손쉽게 커스터마이징할 수 있으며, helm install, upgrade, rollback 등의 명령을 통해 배포의 전체 생명주기를 간단히 제어할 수 있다. 중앙 저장소에서 Chart를 받아와 로컬에서 바로 설치할 수 있기 때문에 운영 자동화 및 GitOps와도 잘 어울린다. Helm을 활용하면 일관된 배포, 빠른 롤백, 명확한 버전 관리를 실현할 수 있어 실무 환경에서 큰 이점을 제공한다.
| 용어 | 설명 |
|---|---|
| Chart | Kubernetes 리소스 정의의 묶음이다. |
| Release | Chart를 클러스터에 배포한 인스턴스이다. |
| Revision | Release의 변경 이력을 나타내는 번호이다. |
Helm Chart는 외부 저장소(Repository)에서 가져올 수 있다. 예를 들어 bitnami 저장소를 등록하려면 다음과 같은 명령어를 실행한다:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
등록된 저장소 목록은 다음 명령어로 확인할 수 있다:
helm repo list
nginx와 같은 애플리케이션을 Helm Chart를 이용해 설치하려면 install 명령어를 사용한다:
helm install dazzling-web bitnami/nginx
dazzling-web은 Release 이름이다.bitnami/nginx는 저장소/Chart 이름이다.설치된 리소스는 다음 명령어로 확인할 수 있다:
helm list -A
kubectl get all
실제 운영 환경에서는 이미지 버전 또는 Chart 설정을 변경할 필요가 자주 발생한다. 이때는 helm upgrade 명령어를 사용하여 손쉽게 업그레이드를 수행할 수 있다.
예: nginx를 1.27.4 버전으로 올리고, Chart는 18.3.6으로 변경하려면 다음과 같이 실행한다:
helm upgrade dazzling-web bitnami/nginx \
--version 18.3.6 \
--set image.tag=1.27.4
--version은 Helm Chart 버전을 의미한다.--set image.tag는 실제 컨테이너 이미지 버전(App Version)을 지정한다.업그레이드 이후 문제가 발생하면, 이전 상태로 롤백하여 빠르게 복구할 수 있다.
우선 히스토리를 확인하려면 다음 명령어를 사용한다:
helm history dazzling-web
지정한 Revision으로 롤백하려면 다음과 같이 실행한다:
helm rollback dazzling-web 3
이때 Helm은 새로운 Revision을 하나 추가하면서 이전 상태로 되돌린다.
helm list에서 보이는 REVISION은 해당 Release의 변경 이력을 나타내며, install 시에는 Revision 1로 시작하고 업그레이드 또는 롤백할 때마다 1씩 증가한다.
helm history dazzling-web
출력 예:
REVISION UPDATED CHART APP VERSION DESCRIPTION
1 2025-05-10 10:40:00 nginx-12.0.4 1.22.0 Install complete
2 2025-05-10 10:45:00 nginx-12.0.4 1.22.0 Upgrade complete
3 2025-05-10 10:50:00 nginx-18.3.6 1.27.4 Upgrade complete
4 2025-05-10 11:02:00 nginx-12.0.4 1.22.0 Rollback to 2
더 이상 필요하지 않은 저장소는 helm repo remove 명령을 통해 손쉽게 제거할 수 있다:
helm repo remove hashicorp
[1] 저장소 추가 → [2] Chart 검색 및 설치
↓
[3] 설치 상태 확인 → [4] 업그레이드 → [5] 문제 발생
↓
[6] 롤백으로 복구 → [7] Revision 확인 및 관리