반응형
- Helm Chart 템플릿 파일 중 하나예요.
- 보통 charts/<차트명>/templates/_helpers.tpl 경로에 있습니다.
- 여기에는 템플릿 함수(helpers) 가 정의돼 있어서, Chart의 여러 템플릿(deployment.yaml, service.yaml, ingress.yaml 등)에서 반복되는 부분을 재사용할 수 있게 해줍니다.
- 예: 리소스 이름 규칙(fullname, name, chart)이나 label 공통 정의 등을 여기서 함수로 정의하고 다른 곳에서 호출합니다.
# _helpers.tpl
{{- define "mychart.fullname" -}}
{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" -}}
{{- end }}
# deployment.yaml
metadata:
name: {{ include "mychart.fullname" . }}
이렇게 하면, chart 이름/릴리스 이름이 바뀌어도 규칙적으로 이름이 붙습니다.
비슷한 것들
Helm에서는 _helpers.tpl 외에도 비슷한 역할을 하는 것들이 있어요:
- 기본 제공 함수
- Helm 자체적으로 제공하는 템플릿 함수들 (default, printf, trunc, upper, toYaml 등).
- Go 템플릿 기반이라서 Go의 템플릿 기능과 Helm이 추가한 함수 둘 다 활용 가능.
- _helpers.tpl 여러 개
- 꼭 한 파일일 필요는 없어요.
- templates/_helpers.tpl, templates/_labels.tpl, templates/_names.tpl 식으로 나눠서 관리할 수도 있습니다.
- Helm은 templates/ 폴더 내 _(언더스코어)로 시작하는 파일은 직접 리소스로 배포하지 않고 helper 정의만 읽습니다.
- Values.yaml
- _helpers.tpl이 재사용 가능한 함수 모음이라면,
- values.yaml은 재사용 가능한 값/설정 모음이에요.
- 둘을 조합해서 “값 정의 → helper 함수 → 실제 리소스 적용” 흐름을 만듭니다.
- Library Charts
- Helm 3부터는 Library Chart라는 개념이 있어서,
- 공통 helper 함수나 템플릿을 독립 Chart로 만들어 두고 여러 Chart에서 import해서 쓸 수도 있습니다.
- 예: bitnami/common 라이브러리 차트를 다른 차트들이 불러와서 이름 규칙, label 규칙을 공유.
정리
- _helpers.tpl = Helm Chart에서 재사용 가능한 템플릿 함수 모음.
- 비슷한 것:
- Helm 기본 제공 함수
- 여러 개의 _*.tpl 파일
- values.yaml
- Helm Library Chart
반응형
'K8S' 카테고리의 다른 글
Kubernetes ConfigMap & Secret 자동 반영 — Stakater Reloader (0) | 2025.10.17 |
---|---|
[kubernetes] kind 명령어 정리 (0) | 2025.09.06 |
[kubernetes] kind 설치 및 간단한 실행방법 (0) | 2025.09.06 |
Argo CD에서 이미지 변경 트리거 안되는 배포 트러블 슈팅 (0) | 2025.08.25 |
일반 서비스 (echo-service)와 Ingress Controller의 차이 (0) | 2025.08.07 |
댓글