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 연동 방식도 다룰 예정이니 기대해주세요! 🚀
'클라우드' 카테고리의 다른 글
쿠버네티스(Kubernetes) 기본 명령어 정리 (0) | 2025.02.13 |
---|---|
[클라우드] Dockerfile 개념 정리 가이드 (1) | 2025.02.07 |
[클라우드] Docker? Kubernetes? 개념 정리 (1) | 2025.02.04 |