Helm2 vs Helm3

Yu Sang Min·2025년 7월 6일

CKA

목록 보기
94/110
post-thumbnail

🔄 Helm 2 vs Helm 3 핵심 비교 정리

항목Helm 2Helm 3
중간 구성요소Tiller 필요
클러스터 내에 Tiller 설치 필요
Tiller 제거됨
Helm CLI가 직접 클러스터와 통신
보안Tiller는 거의 God Mode
권한 관리 어려움
RBAC 기반의 권한 설정 가능
Helm 명령도 kubectl처럼 RBAC 적용
롤백 방식2-way patch
현재 Chart vs 이전 Chart 비교
3-way Strategic Merge Patch
현재 Chart vs 이전 Chart vs 실시간 상태 비교
수동 수정 감지감지 불가 (kubectl로 수정 시 Helm은 모름)감지 가능 (실시간 상태와 비교하여 수정 반영)
업그레이드 시 사용자 변경사항 보존❌ 변경사항 덮어씌움사용자 변경사항 인지 및 보존
설치 간편성Tiller 설정 필요간단한 Helm CLI 설치만 필요
출시 시기2016년 11월2019년 11월

🔍 Tiller란?

  • Helm 2에서 Kubernetes에 명령을 내리기 위해 클러스터 내에서 작동하는 서버 역할
  • Helm CLI → Tiller → Kubernetes
  • 하지만, 보안 문제 (권한 과다), 구성 복잡성 증가 등의 문제 존재

→ 그래서 Helm 3에서 완전히 제거되고, Helm CLI가 직접 kubectl처럼 클러스터와 통신


🔁 Helm의 Revision과 Rollback

📌 Revision 개념

  • helm install: revision 1
  • helm upgrade: revision 2, 3, ...
  • helm rollback: 이전 revision으로 되돌리기 가능
  • 각 revision은 ‘상태 스냅샷’ 역할을 함

⚠️ Helm 2의 한계

  • kubectl set image처럼 Helm 외부에서 수동 수정 시에는 이를 감지하지 못함
  • 롤백 시 실시간 상태를 모르기 때문에 수동 수정은 무시됨

✅ Helm 3의 3-way Strategic Merge Patch

  • 비교 대상:

    1. 현재 Chart 상태
    2. 되돌릴 이전 Chart 상태
    3. 실시간 클러스터 상태
  • → 실시간 상태까지 고려하여 실제 변경이 필요한 부분만 반영, 수동 변경도 반영 가능


🧪 업그레이드 시에도 효과 발휘

  • Helm 2는 업그레이드 시 무조건 Chart 기반으로 재정의 → 수동 수정사항 사라짐
  • Helm 3는 Live 상태를 파악하여, 사용자 커스터마이징을 유지한 채 업그레이드 진행

✨ 요약

Helm 3는 단순히 Helm 2의 업그레이드 버전이 아니라, **설계 철학 자체가 바뀐 진짜 ‘3세대 도구’**야. 특히 보안, 유연성, 유지보수 측면에서 큰 발전을 이루었어.

  • Tiller 제거 → 구성 간편 + 보안 강화
  • RBAC 통합 → 접근 제어 통합
  • 3-way patch → 수동 수정에도 유연한 대응
  • Revision 기반 관리 → 안정적 롤백/업그레이드
profile
React, Node.js, AWS, Git, Github, Github Action, Docker, K8S

0개의 댓글