클라우드

Helm 사용 방법 가이드

Newbie Developer 2025. 2. 9. 14:54

 

Helm은 Kubernetes에서 패키지 관리를 쉽게 할 수 있도록 도와주는 도구로, 애플리케이션을 차트(Chart)로 패키징하여 배포, 업그레이드, 롤백 및 삭제할 수 있습니다. 이 글에서는 Helm의 기본 개념과 주요 명령어, 실습 예제 등을 설명합니다.


1. Helm 개요

Helm은 Kubernetes 애플리케이션을 정의하고, 설치하고, 관리하는 기능을 제공합니다.
기본적으로 다음과 같은 구성 요소로 이루어져 있습니다.

  • Chart: Kubernetes 애플리케이션을 정의하는 패키지
  • Release: Helm Chart를 클러스터에 배포한 인스턴스
  • Repository: Chart가 저장된 위치

2. Helm 설치 방법

Helm을 설치하는 방법은 운영체제에 따라 다를 수 있지만, 대부분 다음과 같은 방법을 사용합니다.

2.1 Helm 설치 (Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

2.2 Helm 버전 확인

설치가 완료되면 버전을 확인하여 정상적으로 설치되었는지 확인합니다.

helm version

3. Helm 기본 명령어

Helm은 다양한 명령어를 제공하며, 대표적인 명령어는 다음과 같습니다.

명령어 설명
helm repo add <repo-name> <repo-url> 새로운 Helm 저장소 추가
helm repo update 저장소 업데이트
helm search repo <chart-name> 저장소에서 Chart 검색
helm install <release-name> <chart> Chart 설치
helm list 설치된 릴리스 목록 조회
helm upgrade <release-name> <chart> Chart 업그레이드
helm rollback <release-name> <revision> 이전 버전으로 롤백
helm uninstall <release-name> 릴리스 삭제

 


4. Helm 차트 사용 예제

Helm을 사용하여 Nginx를 배포하는 간단한 예제를 살펴보겠습니다.

4.1 Helm 저장소 추가

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

4.2 Nginx 설치

helm install my-nginx bitnami/nginx

위 명령어를 실행하면 my-nginx라는 이름으로 Nginx가 배포됩니다.

4.3 배포 확인

helm list

4.4 설정 변경 및 업그레이드

Helm은 values.yaml을 이용해 설정을 변경할 수 있습니다. 기본 값을 변경하여 업그레이드하는 방법은 다음과 같습니다.

helm upgrade my-nginx bitnami/nginx --set service.type=LoadBalancer

4.5 Helm 릴리스 삭제

helm uninstall my-nginx

5. Helm Chart 생성 및 배포

사용자 정의 Helm Chart를 생성하고 배포하는 방법도 살펴보겠습니다.

5.1 Helm Chart 생성

helm create my-chart

위 명령어를 실행하면 my-chart 폴더가 생성되고 기본 템플릿이 포함됩니다.

5.2 values.yaml 설정 변경

my-chart/values.yaml에서 기본 설정을 수정하여 사용자 정의 설정을 적용할 수 있습니다.

5.3 로컬 Chart 설치

helm install my-release ./my-chart

5.4 Chart 패키징 및 저장소에 업로드

helm package my-chart
helm push my-chart.tgz oci://my-registry

6. Helm과 Kubernetes 연동

Helm을 Kubernetes 클러스터에서 활용하려면 kubectl이 설치되어 있어야 합니다.

6.1 Kubernetes 컨텍스트 확인

kubectl config current-context

6.2 Helm 설치된 리소스 확인

kubectl get all -l app.kubernetes.io/instance=my-nginx

7. 마무리

Helm을 사용하면 Kubernetes 애플리케이션을 손쉽게 배포하고 관리할 수 있습니다.
이번 글에서는 Helm의 기본 개념부터 설치, 사용법, 차트 생성까지 다루었습니다.
추후 Helm Operator와 Helm API 연동 방식도 다룰 예정이니 기대해주세요! 🚀