본문으로 건너뛰기
버전: 4.0.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 커뮤니티의 커뮤니케이션 안내를 참고하세요.