# mychart 생성
$ helm create mychart
NOTES.txt
: 차트의 "도움말". 이것은 helm install
을 실행할 때 사용자에게 표시될 것이다.deployment.yaml
: 쿠버네티스 디플로이먼트를 생성하기 위한 기본 매니페스트service.yaml
: 디플로이먼트의 서비스 엔드포인트를 생성하기 위한 기본 매니페스트_helpers.tpl
: 차트 전체에서 다시 사용할 수 있는 템플릿 헬퍼를 지정하는 공간if
/else
- 조건부 블록 생성with
- 스코프 지정range
- "for each" 스타일 반복문 제공이 외에도 명명된 템플릿 세그먼트를 선언하고 사용하기 위한 몇 가지 작업을 제공합니다.
define
템플릿 내부에 새로운 명명된 템플릿을 선언합니다.
template
명명된 템플릿을 가져옵니다.
{{- define "mychart.labels" }}
labels:
generator: helm
date: {{ now | htmlDate }}
{{- end }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
{{- template "mychart.labels" }}
data:
myvalue: "Hello World"
{{- range $key, $val := .Values.favorite }}
{{ $key }}: {{ $val | quote }}
{{- end }}
include
template + pipeline (권장)
_
파일지금까지 우리는 하나의 파일을 사용했고, 그 하나의 파일에는 단일 템플릿이 포함되어 있었습니다. 그러나 Helm의 템플릿 언어를 사용하면 다른 곳에서 이름으로 액세스할 수 있는 명명된 내장 템플릿을 만들 수 있습니다.
해당 템플릿 작성의 기본 사항을 시작하기 전에 언급할 만한 파일 명명 규칙이 있습니다.
대부분의 파일은 templates/
Kubernetes 매니페스트가 포함된 것처럼 처리됩니다.
NOTES.txt
한 가지 예외 는
그러나 이름이 밑줄( )로 시작하는 파일은 내부에 매니페스트가 없는_
것으로 간주됩니다 . 이러한 파일은 Kubernetes 개체 정의로 렌더링되지 않지만 다른 차트 템플릿 내 어디에서나 사용할 수 있습니다.