✨ Helm: Kubernetes 패키지 관리 도구 / Package Manager 설치 및 사용법 🎉
Helm은 Kubernetes 환경에서 애플리케이션 배포와 관리를 간편하게 만들어주는 패키지 관리자입니다.
Helm is a powerful package manager for Kubernetes that helps you deploy and manage applications effortlessly.
이번 글에서는 Helm의 기본 개념부터 설치 및 주요 사용법까지 단계별로 알아보겠습니다. 🚀

1. Helm이란? / What is Helm? 🤔
Helm은 Kubernetes 클러스터에 애플리케이션을 설치, 업그레이드, 롤백 및 삭제하는 작업을 단순화해줍니다.
Helm simplifies the process of installing, upgrading, rolling back, and uninstalling applications in a Kubernetes cluster.
- 차트(Chart): Kubernetes 애플리케이션을 패키징하는 단위 📦
(A Chart is a package that contains all the resource definitions necessary to run an application inside a Kubernetes cluster.) - 릴리즈(Release): 차트를 클러스터에 배포한 인스턴스 🎯
(A Release is an instance of a chart running in a Kubernetes cluster.) - 템플릿 엔진: 사용자 정의 값을 주입하여 동적으로 매니페스트 파일 생성 📝
(The template engine allows you to inject custom values to dynamically generate Kubernetes manifest files.)
2. Helm 설치 방법 / How to Install Helm 🛠️
Helm은 다양한 플랫폼에서 설치할 수 있으며, 아래와 같은 방법으로 설치 가능합니다.
A. macOS 설치 (Homebrew 이용) 🍏
macOS 사용자는 Homebrew를 사용하여 간편하게 설치할 수 있습니다.
brew install helm
설치 후 버전을 확인하세요.
helm version
B. Linux 설치 🐧
리눅스 사용자는 아래 두 가지 방법 중 하나를 선택하세요.
- 스크립트 이용 방법
최신 버전 설치 스크립트를 실행합니다.
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
- 패키지 매니저 (snap 등) 이용
예를 들어, Ubuntu에서는 Snap을 사용할 수 있습니다.
sudo snap install helm --classic
C. Windows 설치 🖥️
Windows에서는 Chocolatey 또는 Scoop을 사용해 설치할 수 있습니다.
- Chocolatey:
choco install kubernetes-helm
- Scoop:
scoop install helm
설치 후, 커맨드 라인에서 helm version
을 실행해 정상 설치 여부를 확인하세요. ✅
3. Helm 사용법 / How to Use Helm 🔧
Helm을 활용하면 Kubernetes 애플리케이션의 배포와 관리를 손쉽게 할 수 있습니다. 아래는 주요 명령어와 사용 예제입니다.
A. 저장소 추가 및 업데이트 / Add and Update Repositories 📚
Helm 차트는 저장소에 호스팅되며, 다음 명령어로 추가 및 업데이트할 수 있습니다.
- 저장소 추가:
helm repo add stable https://charts.helm.sh/stable
- 저장소 업데이트:
helm repo update
B. 차트 검색 / Search Charts 🔍
원하는 애플리케이션 차트를 검색해보세요.
helm search repo <패키지명>
예를 들어, Nginx 관련 차트를 검색하려면:
helm search repo nginx
C. 애플리케이션 설치 / Install an Application 🚢
검색한 차트를 이용해 애플리케이션을 설치합니다. 릴리즈 이름과 네임스페이스를 지정할 수 있습니다.
helm install my-release stable/nginx
설치 옵션을 커스터마이징하려면 --values
옵션으로 YAML 파일을 전달하거나, --set
옵션을 사용하세요.
helm install my-release stable/nginx --set service.type=NodePort --set replicaCount=2
D. 릴리즈 업그레이드 및 롤백 / Upgrade and Rollback 🔄
애플리케이션 설정 변경이나 버전 업데이트 시 사용합니다.
- 업그레이드:
helm upgrade my-release stable/nginx --set replicaCount=3
- 롤백 (문제 발생 시 이전 버전으로):
helm rollback my-release 1
(여기서 숫자 1은 롤백할 버전 번호입니다.)
E. 설치된 릴리즈 확인 및 삭제 / List and Uninstall Releases 🗑️
- 설치된 릴리즈 확인:
helm list
- 릴리즈 삭제:
helm uninstall my-release
이 명령어로 클러스터에서 해당 릴리즈 관련 모든 리소스가 삭제됩니다.
4. Helm 차트 커스터마이징 / Customize Helm Charts 🎨
Helm 차트는 템플릿화된 매니페스트 파일과 기본 값 파일(values.yaml)을 포함합니다. 이를 수정하여 환경에 맞게 커스터마이징할 수 있습니다.
A. values.yaml 수정 / Edit values.yaml ✏️
설치 전에 values.yaml
파일을 수정하거나, 설치 시 --set
옵션으로 오버라이드합니다.
helm show values stable/nginx > my-values.yaml
# my-values.yaml 파일을 편집한 후,
helm install my-release stable/nginx -f my-values.yaml
B. 템플릿 디버깅 / Template Debugging 🕵️♀️
실제 생성되는 Kubernetes 매니페스트를 미리 확인할 수 있습니다.
helm template my-release stable/nginx -f my-values.yaml
이 명령어는 클러스터에 적용하지 않고, 생성된 매니페스트를 출력합니다.
5. 결론 / Conclusion 🎯
Helm은 Kubernetes 클러스터에 애플리케이션을 배포하고 관리하는 데 매우 유용한 도구입니다.
Helm simplifies complex manifest management and enables efficient application deployment and operations.
이번 글에서는 Helm의 기본 개념, 설치 방법, 그리고 사용법에 대해 알아보았습니다.
For more detailed information and the latest updates, please refer to the Helm 공식 문서 / [Helm Official Documentation]. 📖
Helm을 활용하여 여러분의 Kubernetes 클러스터 운영이 더욱 스마트해지길 바랍니다! 😃👍