✅ Helm이란?
: 쿠버네티스용 오픈소스 패키지 매니저로, 패키지의 설치, 업데이트를 편리하게 수행하도록 도와준다. 레드햇 계열의 Yum, 데비안 계열의 APT과 유사한 기능을 제공한다.
Helm을 이용하면 Redis 클러스터 구성이나 Wordpress 환경 등의 복잡한 소프트웨어를 하나의 명령어로 쿠버네티스 클러스터에 배포할 수 있다.
롤링 업데이트 등 쿠버네티스에 최적화된 다양한 기능을 지원하기 때문에, 애플리케이션을 효율적으로 관리할 수 있다는 장점이 있다.
✅ Helm 설치
직접 다운로드
- curl -sL https://get.helm.sh/helm-v버전-운영체제종류-amd64.tar.gz -o 저장파일경로
가장 최신 버전을 다운받아 압축을 풀어준다. (https://github.com/helm/helm/releases/tag/v3.18.4)
curl -sL https://get.helm.sh/helm-v3.18.4-linux-amd64.tar.gz -o /tmp/helm.tar.gz

helm을 다른 곳에서도 호출할 수 있도록 /usr/local/bin으로 옮긴다.
sudo mv linux-amd64/helm /usr/local/bin
스크립트를 받아서 설치
자동으로 최신 버전을 받아 설치한다.
패키지 매니저(apt, yum, brew 등)을 이용해서 설치
사용하는 운영체제에 따라 패키지 매니저를 통해 설치한다.
✅ 차트(Chart)
: 쿠버네티스 리소스들을 패키지 형태로 묶어 놓은 배포 단위
📑 역할
- 애플리케이션 설치 자동화: Deployment, Service, ConfigMap, Ingress 등 여러 리소스를 일일이 생성할 필요 없이, 차트 하나로 애플리케이션을 배포할 수 있다.
- 환경별 설정 분리: values.yaml 파일에서 dev/prod 설정만 변경해서 사용 가능하다.
- 버전 관리: 차트 버전을 지정해서 특정 시점의 배포 상태를 재현하거나 롤백하는데 유용하다.
- 의존성 관리: 다른 차트가 같이 필요한 경우, 의존성을 함께 관리하여 필요한 모든 컴포넌트를 한번에 배포할 수 있다.
✅ 헬름 저장소(Helm Chart Repository)
헬름은 기본적으로 저장소가 설정되어 있지 않기 때문에, 원하는 애플리케이션의 차트를 설치하려면 저장소를 직접 추가해야 한다.
저장소는 차트를 모아 놓은 곳을 말한다.
📑 stable 저장소
: 헬름이 관리하는 공식 차트 저장소
각각의 성숙도에 따라 stable과 incubator로 구분한다.
각 차트는 github에서 관리한다.
stable과 incubator의 차이
- 업데이트 가능 여부
- 데이터 영속성 가능 여부
- 보안
- 적절한 기본값 제공
- 쿠버네티스 모범 사례에 따라 설정
저장소 추가
helm repo add stable https://charts.helm.sh/stable
📑 bitnami 저장소
: bitnami가 유지/관리하는 인기 오픈소스 애플리케이션 차트를 모아 놓은 공식 차트 저장소
MySQL, WordPress, Redis, Nginx, Kafka 같은 앱들을 쉽게 배포 가능하다.
대부분 production ready 수준의 앱들이라 테스트뿐 아니라 배포에도 사용 가능하다.
저장소 추가
helm repo add bitnami https://charts.bitnami.com/bitnami

✅ 워드프레스 설치 예제
저장소에서 워드프레스 관련 차트 검색
- 추가된 저장소에서 검색: helm search repo wordpress
- 여러 헬름 저장소에서 통합 검색: helm search hub wordpress
설정 확인
- 차트에서 설정 가능한 파리미터 확인: helm show values bitnami/wordpress
- 차트의 더 자세한 설명 확인(readme): helm show readme bitnami/wordpress


차트 설치
- helm install [릴리스 이름] [차트 이름]
- 차트 이름은 [저장소 이름]/[애플리케이션 이름] 형식

차트 삭제
- helm uninstall [릴리스 이름]
✅ Helm 아키텍쳐
Helm은 차트를 설치하면 차트와 values의 조합을 Release라는 단위로 관리한다.
Release는 쿠버네티스의 Secret에 저장되기 때문에 별도의 데이터베이스가 필요없다.
'Cloud > Kubernetes' 카테고리의 다른 글
| External IP 서비스 (0) | 2025.07.07 |
|---|---|
| Service API - 쿠버네티스 클러스터 네트워크와 서비스 (0) | 2025.07.04 |
| Workload API - CronJob (0) | 2025.07.04 |
| Workload API - StatefulSet (0) | 2025.07.04 |
| Workload API - Deployment (0) | 2025.07.03 |