본문으로 건너뛰기
버전: 4.3.0

헬름 4 개요

헬름 v4는 v3으로부터의 중대한 진화를 표하는 버전으로 차트에의 하위 호환성을 유지하는 한편으로 비호환적 변경사항, 새로운 아키텍처 패턴, 그리고 향상된 기능성을 도입합니다.

헬름 4 출시 단계별 계획에 대한 자세한 내용은 헬름 v4로의 여정를 참고해주세요.

무엇이 새로운가​

이 섹션에서는 비호환적 변경사항, 주요 신기능, 기타 개선 사항을 포함하여 헬름 4에서 무엇이 새로운지를 간략히 개괄합니다. 전체 기술 세부 정보는 전체 변경 로그를 참조하세요.

요약​

  • 새 기능: Wasm 기반 플러그인, kstatus 감시자, OCI 다이제스트 지원, 다중 문서 값, JSON 인수
  • 아키텍처 변경: 플러그인 시스템 전면 재설계, 패키지 구조 개편, CLI 플래그 이름 변경, 버전 관리 패키지로 전환, 차트 v3 지원, 콘텐츠 기반 캐싱
  • 현대화: slog 마이그레이션, Go 1.24 업데이트, 의존성 정리
  • 보안: OCI/레지스트리 지원 강화, TLS 개선

비호환적 변경사항​

플러그인으로 구현된 포스트 렌더러​

포스트 렌더러가 플러그인으로 구현됩니다. 이 변경과 함께 helm render --post-renderer에 실행 파일을 직접 전달하는 건 불가능해지며, 이후부터는 플러그인 이름을 전달해줘야 합니다. 이 변경으로 인해 기존 포스트 렌더러 워크플로우에 업데이트가 필요할 수도 있습니다.

레지스트리 로그인은 전체 URL을 허용하지 않음​

v4에서 helm registry login 명령은 반드시 도메인명으로 실행해야 합니다. 이는 향후 레지스트리의 다양한 수준에서 로그인 범위를 지정할 수 있게 하기 위함입니다.

새로운 기능​

플러그인 시스템 전면 개편​

헬름 4는 보안 강화와 기능 확장을 위해 선택적인 WebAssembly 기반 런타임을 도입합니다. 기존 플러그인이 계속 동작하지만, 새 런타임이 플러그인 커스터마이징을 위해서 헬름의 코어 동작을 더 많이 활용할 수 있게 해줍니다. 헬름4는 CLI 플러그인, getter 플러그인, 포스트 렌더러 플러그인, 세 플러그인 유형 및 추가적인 코어 기능을 가능케 하는 시스템을 포함하여 출시됩니다. HIP-0026 플러그인 시스템 및 헬름 4 예제 플러그인을 참고하세요.

팁

기존 플러그인은 이전과 동일하게 동작합니다. 새로운 WebAssembly 런타임은 선택 사항이지만 보안 강화를 위해 권장됩니다.

향상된 리소스 모니터링​

신규 kstatus 통합이 배포 상태를 더 상세하게 제공합니다. 이슈를 더 잘 포착하는지 복잡한 애플리케이션으로 테스트해보세요.

향상된 OCI 지원​

공급망 보안 강화를 위해 다이제스트로 차트를 설치할 수 있습니다. 예를 들어 helm install myapp oci://registry.example.com/charts/app@sha256:abc123...와 같이 사용합니다. 다이제스트가 일치하지 않는 차트는 설치되지 않습니다.

다중 문서 값​

복잡한 값을 여러 개의 YAML 파일로 분리하여 관리하세요. 다양한 환경 설정을 테스트하는 데 용이합니다.

서버 사이드 Apply​

여러 도구가 동일한 리소스를 관리할 때 충돌을 더 효과적으로 해결할 수 있습니다. 오퍼레이터나 다른 컨트롤러가 있는 환경에서 테스트해보세요.

헬름4는 새로운 차트 릴리즈를 설치할 때 기본적으로 서버 사이드 apply를 사용합니다.

업그레이드(또는 롤백)을 할 때는 기본적으로 이전 릴리즈의 apply 방식을 따릅니다. 이러한 래칭 동작은 클라이언트 사이드 apply를 사용하던 기존 릴리즈의 운영 연속성을 보장하기 위한 의도입니다. --server-side 플래그를 명시적으로 설정하여 이 동작을 오버라이드할 수 있습니다.

그러한 맥락에서 헬름3에 의해 생성된 모든 릴리즈는 헬름4로 업그레이드한 이후에도 기본적으로 클라이언트 사이드 apply를 사용할 것입니다.

사용자 정의 템플릿 함수​

플러그인을 통해 추가한 자체 함수로 헬름의 템플릿 기능을 확장할 수 있습니다. 조직별 템플릿 요구사항에 적합합니다.

플러그인으로서의 포스트 렌더러​

포스트 렌더러가 플러그인으로 구현되어 더 나은 통합성과 추가적인 기능을 제공합니다.

안정화된 SDK API (Stable SDK API)​

API에 관해 호환성이 깨지는 변경 작업이 전부 완료되었습니다. 자유롭게 테스트하고, 문제를 발견하면 피드백을 보내주세요! 또한 이 API는 추가적인 차트 버전을 지원하여, 향후 출시될 차트 v3에서 새로운 기능을 도입할 수 있는 기반을 제공합니다.

차트 v3​

곧 출시 예정입니다. v2 차트는 변경 없이 계속 사용할 수 있습니다.

개선사항​

성능​

더 빠른 의존성 해결, 새로운 콘텐츠 기반 차트 캐싱을 제공합니다.

에러 메시지​

더 명확하고 유용한 에러 출력을 제공합니다.

레지스트리 인증​

프라이빗 레지스트리를 위한 향상된 OAuth 및 토큰 지원을 제공합니다.

CLI 플래그 이름 변경​

동작을 더 명료하게 표현하기 위해 일부 CLI 플래그명이 변경됐습니다. 기존 플래그는 그대로 유지되지만, deprecated 경고가 출력될겁니다.

  • --atomic → --rollback-on-failure
  • --force → --force-replace

이름이 변경된 이들 CLI 플래그를 사용하는 자동화 스크립트가 있다면 업데이트해주세요.

헬름4로 업그레이드하기​

헬름4를 사용자 모두에게 안정적으로 제공하고자 최선을 다하고 있다고 할지라도 헬름4는 완전히 새로운 버전입니다. 이를 고려하여, 기존 워크플로우에서 헬름4를 테스트할 때 업그레이드 전 주의해야 할 몇 가지 팁을 아래 정리해뒀습니다. 항상 그렇듯 잘 동작하는 사항, 문제가 발생하는 사항, 그리고 개선이 필요한 사항에 관한 모든 피드백을 환영합니다.

최우선 고려사항​

  • 기존 Chart와 릴리즈를 테스트하여 v4에서도 정상적으로 동작하는지 확인하세요.
  • 세 가지 플러그인 유형(CLI, getter, post-renderer)을 모두 테스트하세요.
  • 새로운 런타임으로 WebAssembly 플러그인 빌드를 시도해 보세요 (참고: example plugins)
  • SDK 사용자: 안정화된 API를 테스트해 보세요. 문제를 발견하면 피드백을 공유해 주세요.
  • CI/CD 파이프라인을 테스트하고, 이름이 변경된 CLI 플래그로 인한 스크립트 오류를 수정하세요.
  • 포스트 렌더러 통합을 테스트하세요.
  • OCI 워크플로우에서 레지스트리 인증 및 차트 설치를 테스트하세요.

그 외​

  • 다중 문서 값 설정, 다이제스트 기반 설치, 사용자 정의 템플릿 함수 등 기타 새로운 기능도 테스트해보세요.
  • 크고 복잡한 Chart를 사용하여 헬름4의 성능을 테스트해보고 기존 워크로드에 대비해 눈에 띄게 빨라졌는지 확인해보세요.
  • 의도적으로 고장내어 업데이트된 에러 메시지가 도움되는지 확인해보세요.

피드백​

  • 헬름의 코어 기능을 커스터마이징하기 위해 어떤 플러그인 유형이 추가되어야 한다고 생각하시나요?
  • API가 추가적인 차트 버전을 지원하게 된 만큼, 차트 v3에서 어떤 새로운 기능을 기대하시나요?

피드백 제공 방법​

이슈를 발견하셨나요? 제안이 있으신가요? 11월 릴리즈 전 여러분의 의견을 듣고 싶습니다:

깃헙 이슈​

헬름 저장소의 열린 이슈 및 기능 요청 목록을 확인하세요. 기존 항목에 댓글을 추가하거나, 새로운 이슈 및 요청을 생성하세요.

커뮤니티 슬랙​

쿠버네티스 슬랙 채널에 참여하세요:

  • 개발 관련 논의는 #helm-dev
  • 사용자 지원 및 테스트 피드백은 #helm-users

주간 개발자 미팅​

매주 목요일 오전 9시 30분에 Zoom에서 유지관리자들과 함께하는 라이브 토론에 참여하세요.

더 다양한 참여 방법은 Helm 커뮤니티의 커뮤니케이션 안내를 참고하세요.