고급 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은 위에서 다룬 것 외에도 더 많은 고급 기능을 제공해요. 각 기능에 대한 자세한 내용은 해당 문서를 참고하세요.