고급 Helm 기법

고급 Helm 기법

이 섹션은 고급 Helm 사용법을 다뤄요.

출처: 문서

본문

차트 의존성

Helm에서 선언적 의존성은 Chart.yaml 파일에 정의돼요:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://helm.stable.sap.com
  condition: mariadb.enabled
  tags:
    - infra

Helm은 helm dependency update 명령으로 의존성을 직접 관리할 수 있어요. 예를 들면:

helm dependency update

사전 준비

의존성을 추가하려면 Helm은 helm dependency update를 사용해 의존성을 가져와요.

helm dependency build 명령은 의존성을 가져오는 대안적인 방법을 제공해요. 의존성을 선언하는 다양한 구성 타입을 살펴볼게요:

구성 타입

  • alias - 의존성 이름을 다른 이름으로 별칭(alias) 처리할 수 있게 해 줘요

  • condition - 의존성을 불러올 부울 플래그 또는 값(부울)의 경로예요

  • tags - 다른 모든 의존성에 공통적인 값/태그의 목록이에요

  • import-values — 의존성에서 값을 가져올 수 있게 해 줘요

사용할 수 있는 다른 필드도 있어요:

  • import-values - 의존성에서 값을 가져올 수 있게 해 줘요

  • alias - 의존성의 이름을 별칭 처리해요

차트 작성 모범 사례

의존성 선언에 대한 자세한 내용은 Helm의 공식 차트 작성 모범 사례 가이드를 참고하세요.

Helm 훅

Helm 훅은 릴리스 라이프사이클의 여러 지점에서 액션을 트리거하는 방법이에요. Helm 훅은 훅 문서에서 깊이 다뤄져요. 여기서는 --hooks 플래그를 특정 명령과 함께 사용해 릴리스가 언제 업데이트/삭제되는지 제어하는 방법을 볼게요.

--hooks 플래그

--hooks 플래그를 사용하면 uninstall과 upgrade 중에 훅 실행을 제어할 수 있어요. 사용하려면 uninstall이나 upgrade 명령에 --hooks 플래그를 추가해요.

helm upgrade --hooks pre-upgrade,post-upgrade
helm uninstall --hooks pre-delete

예제

  • helm upgrade --hooks pre-upgrade,post-upgrade

  • helm uninstall --hooks pre-delete

차트 검증

Helm에는 차트를 검증하는 내장 메커니즘이 있어요. 이는 프러비넌스 문서에서 깊이 다뤄져요.

커스텀 함수

Helm 템플릿은 Sprig 라이브러리가 제공하는 커스텀 함수를 사용할 수 있어요.

이미지 서명 검증

Helm은 배포 전에 컨테이너 이미지 서명을 검증하는 것을 지원해요.

기타 고급 기능

Helm은 위에서 다룬 것 외에도 더 많은 고급 기능을 제공해요. 각 기능에 대한 자세한 내용은 해당 문서를 참고하세요.

더 알아보기 (Learn more)