Helm
개요
Helm 핵심 개념
Helm v3 아키텍처
┌─────────────────────────────────────────────────────────┐
│ Helm Client │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ helm CLI │ │ Chart SDK │ │ Repository API │ │
│ └──────┬──────┘ └──────┬──────┘ └────────┬────────┘ │
└─────────┼────────────────┼──────────────────┼───────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ Kubernetes API Server │
│ ┌─────────────────────────────────────────────────────┐│
│ │ Release Secrets (저장소) ││
│ │ sh.helm.release.v1.<name>.v<ver> ││
│ └─────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────┘핵심 구성 요소
구성 요소
설명
Chart 구조
기본 디렉토리 구조
Chart.yaml 예시
Helm 명령어
저장소 관리
Chart 설치 및 관리
릴리스 관리
Chart 개발
템플릿 작성
기본 문법
내장 객체
조건문과 반복문
헬퍼 템플릿
유용한 함수들
Values 관리
values.yaml 구조화
환경별 Values 파일
의존성 관리
Chart 의존성 정의
의존성 명령어
서브차트 값 전달
Hooks
Hook 유형
Hook
설명
Hook 삭제 정책
정책
설명
테스트
테스트 정의
GitOps 통합
ArgoCD Application
Flux HelmRelease
보안 모범 사례
시크릿 관리
RBAC 템플릿
문제 해결
디버깅
일반적인 오류
오류
원인
해결 방법
참고 자료
마지막 업데이트