helm install을 수행하면 Release가 생성됨.
Release = Kubernetes 오브젝트들의 집합 + Helm이 추적할 수 있는 메타데이터
Helm은 이 Release를 기준으로:
helm upgrade <release-name> <chart-name> --version <new-version>
nginx를 1.19.2에서 1.21.4로 업그레이드helm history <release-name>
helm rollback <release-name> <revision-number>
예: helm rollback nginx 1
주의: 리비전을 단순히 이전 것으로 덮는 것이 아니라,
→ 새로운 Revision 번호 (예: 3) 로 되돌리는 구조
Helm이 저장하는 것은 오브젝트의 선언 (manifest)이며,
PersistentVolume의 실제 데이터는 복원되지 않음
| Helm이 관리함 | Helm이 관리 못함 |
|---|---|
| Deployment, Service, ConfigMap, Secret 등 Kubernetes 오브젝트 선언 | PVC 데이터, DB 내부 데이터, 파일시스템 내 실제 파일 |
| Chart 버전 및 값 변경 내용 | 외부 시스템의 상태 (예: 외부 DB, 외부 API 등) |
| Revision 히스토리, 롤백 이력 | Pod 내 로그나 ephemeral data |
🧠 즉, Helm은 **"오브젝트 선언 수준의 상태 스냅샷"**을 관리하는 도구야.
데이터를 백업하려면 별도의 툴 필요 (예: Velero, chart hook, cronjob 등)
helm history와 helm list는 매일 점검해도 좋은 명령helm list -A # 모든 namespace의 release 목록 보기
helm history myapp -n dev
--set 옵션 또는 --values 파일로 관리자 정보 제공 필요| 기능 | 명령어 |
|---|---|
| 릴리스 업그레이드 | helm upgrade myapp chart-name |
| 이전 버전으로 롤백 | helm rollback myapp 1 |
| 릴리스 상태 조회 | helm list |
| 특정 릴리스 이력 조회 | helm history myapp |
| 설치된 pod 확인 | kubectl get pods + kubectl describe pod <name> |
Helm은 애플리케이션의 배포, 업그레이드, 복원 과정을 버전 관리되는 선언적 방식으로 수행한다.
모든 변화는 revision으로 추적 가능하고, 언제든 복구할 수 있지만, 데이터 복원은 포함되지 않는다.