

Helm 설치 및 사용하기
개념
쿠버네티스를 위한 패키지 관리를 도와주는 도구.
apt, yum, pip 와 같은 역할이다.
Chart
쿠버네티스 애플리케이션을 구성하는 데 필요한 리소스를 정의, 설정 값, 의존성 등을 하나로 모아놓은 패키지이다.

공식 문서 발췌
Release
chart로 만든 클러스터에 실제 배포된 애플리케이션 인스턴스
Repository
여러 차트들을 모아둔 저장소이다. (DockerHub와 유사) bitnami, artifact hub 과 같은 리포지토리가 있다.
설치
https://helm.sh/ko/docs/intro/install/
공식 문서 참고하여 설치
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
Helm 사용하기

# Chart.yaml
apiVersion: v2
name: test-charts
version: 0.0.1
차트의 메타데이터(데이터에 대한 데이터)를 정의하는 파일이다.
# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
app: my-nginx
template:
metadata:
labels:
app: my-nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
values.yaml은 뒤에 설명! 일단 지금은 빈 파일로 두자.

helm install [릴리즈 이름] [경로]
install 명령으로 templates 에 있는 리소스들이 생성된 것을 볼 수 있다.

helm list # 차트 목록 확인 가능
차트 목록을 볼 수 있다

helm delete [릴리즈 이름]
특정 릴리즈를 제거할 수 있다.
YAML 변수 처리하기

values.yaml 파일로 리소스 파일을 변수처리 할 수 있다.
# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
app: my-nginx
template:
metadata:
labels:
app: my-nginx
spec:
containers:
- name: nginx
image: {{ .Values.image }} # 변수 처리!!
ports:
- containerPort: 80
# values.yaml
image: nginx:latest


이미지가 바뀌어서 생성된 것을 확인할 수 있다.
'Kubernetes' 카테고리의 다른 글
| [Kubernetes] CKA Udemy Lightning Lab - 1 풀이 (1) | 2025.10.01 |
|---|---|
| [Kubernetes] Kustomize Patch로 리소스 커스터마이징 하기 (0) | 2025.09.30 |
| [Kubernetes] Kustomize Transformer로 리소스 커스터마이징 하기 (0) | 2025.09.29 |
| [Kubernetes] Helm Repository 추가 및 차트 배포하기 (0) | 2025.09.26 |
| [Kubernetes] Kustomize 사용하기 (0) | 2025.09.24 |