Helm Components

Yu Sang Min·2025년 7월 6일

CKA

목록 보기
95/110
post-thumbnail

✅ Helm의 주요 구성요소 (Components of Helm)

구성요소설명
Helm CLI로컬에서 사용하는 명령어 도구
예: helm install, helm upgrade, helm rollback
ChartKubernetes 리소스(YAML 템플릿) 모음 패키지
애플리케이션을 정의하는 “청사진” 역할
Values.yaml사용자 정의 설정값을 넣는 곳
템플릿에서 사용되는 변수값 지정
Release하나의 Chart로 클러스터에 설치한 애플리케이션 인스턴스
→ 각각 고유 이름을 가짐 (my-site, dev-site 등)
RevisionRelease의 버전 기록 (install, upgrade, rollback 할 때마다 생성)
RepositoryChart들을 모아둔 저장소
예: Bitnami, AppsCode, TrueCharts 등
Artifact Hub전 세계 Helm Chart를 모아놓은 공식 허브
https://artifacthub.io
MetadataHelm이 동작한 이력 및 상태 정보
→ Kubernetes 클러스터 안의 Secret 오브젝트에 저장됨

🧩 Chart, Values, Templating

📁 Chart 구조 예시

mychart/
├── Chart.yaml         # Chart 메타 정보
├── values.yaml        # 사용자 정의 입력값
├── templates/         # Kubernetes 템플릿 YAML들
│   ├── deployment.yaml
│   └── service.yaml

🔧 values.yaml로 설정값 주입 예시

# values.yaml
replicaCount: 3
image:
  repository: nginx
  tag: stable
# templates/deployment.yaml
spec:
  replicas: {{ .Values.replicaCount }}
  containers:
    - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"

🌀 Release란?

  • helm install my-site bitnami/wordpress
    bitnami/wordpress Chart를 이용해 my-site라는 이름의 Release 생성
  • 같은 Chart로 여러 Release 생성 가능 → 각각 격리되고 독립적으로 관리 가능
helm install dev-site bitnami/wordpress  # 개발용
helm install prod-site bitnami/wordpress  # 운영용

📌 Release가 필요한 이유?

  • 하나의 Chart로 여러 개의 인스턴스를 서로 다르게 설정하여 설치 가능
  • 릴리스 이름 기준으로 Helm은 상태, 버전, 롤백 등을 추적

💾 Helm Metadata 저장 위치?

  • 로컬이 아니라, Kubernetes 클러스터 내의 Secret 오브젝트에 저장
  • 팀원이 함께 작업하더라도 동일한 상태를 유지
  • Rollback, upgrade 등을 위한 기반이 되는 기록 저장소 역할

🔍 Chart 배포 위치: Artifact Hub

  • Helm Chart를 찾고 검색할 수 있는 공식 허브
  • https://artifacthub.io
  • 6,300개 이상의 패키지 존재 (공식, 커뮤니티, 서드파티 포함)
  • Verified Publisher 배지를 가진 Chart가 신뢰도 높음

🌐 실무 예제

Chart 종류제공 리포지토리
WordPressBitnami
PrometheusPrometheus Community
RedisBitnami or Redis Charts
JenkinsJenkins Chart Maintainers
NGINX Ingress ControllerKubernetes Ingress Team

✅ 요약 정리

  • Helm은 Chart라는 패키지를 통해 Kubernetes 오브젝트를 템플릿 기반으로 설치
  • Release는 Chart의 인스턴스화로, 독립적이고 추적 가능
  • 설정은 values.yaml 하나로 대부분 처리
  • Helm 상태와 히스토리는 클러스터 내 Secret으로 관리됨
  • 전 세계 Chart는 Artifact Hub에서 쉽게 검색 가능
profile
React, Node.js, AWS, Git, Github, Github Action, Docker, K8S

0개의 댓글