
eq, ne, lt, gt, and, or, not 조건 오퍼레이션 제공{{ if eq .Values.image.name '1' }}
{{ ... }}
{{ else if eq .Values.image.name '2' }}
{{ else }}
{{ ... }}
{{ end }}
{{- : 줄바꿈 포함한 왼쪽 공백 모두 제거-}} : 줄바꿈 포함한 오른쪽 공백 모두 제거drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}
{{ if eq .Values.favorite.drink "coffee" }}
mug: true
{{ end }}
위 템플릿은 아래와 같이 공백을 포함해 렌더링됨.
drink: "coffee"
food: "PIZZA"
mug: true
공백을 제거하기 위해 - 추가
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}
{{- if eq .Values.favorite.drink "coffee" }}
mug: true
{{- end }}
아래 * 만큼 {{-, -}} 이 공백(줄바꿈 포함) 제거하여
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}*
*
mug: true*
*
결과적으로 아래와 같이 공백 제거됨.
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}
mug: true
{{- range .Values.datas }}
- {{ . | title | quote }}
{{- end }}
.Values.datas 의 리스트 값을 반복해 참조 가능{{- range $index, $value := .Values.datas }}
- {{ . | title | quote }}
{{- end }}
or
{{- range $key, $value := .Values.datas }}
- {{ . | title | quote }}
{{- end }}
.Values.image.name 을 참조한다면, 아래와 같이, with 이용해 해당 범위안에서는 특정 범위로 스코프를 변경 가능{{ with .Values.image }} // .Values.image 로 스코프 지정
{{ .name }} // .Values.image 없이 .name 참조 가능
{{ end }}
{{ $temp := .Release.Name }}
{{ with .Values.image }}
{{ $temp }} 외부 스코프 값 참조
{{ end }}
_ 로 시작하는 파일 또는 template 에서 특정 항목들을 정의할 수 있다.include 해 참조 가능{{ define "MY.NAME" }} // 외부에서 "MY.NAME" 으로 참조하므로, 고유한 prefix 를 붙일 것으로 권장
# body of template here
{{ end }}
define 으로 선언한 'mychart.labels' 을 추가template 은 pipeline으로 함수 호출 안되기 때문에 indent 에 유의(정의하는 쪽에서 indent 를 설정, 사용하는 측은 변경 어려움)template 보다는 include 권장template 두 번째 인자(.) 는 "mychart.labels" 내부에서의 스코프 지정{{ template "mychart.labels" . }}
template 과 유사 하나 pipeline 이용해 다중으로 함수 호출 가능하여, 사용측에서 indent 설정 가능include 두 번째 인자(.) 는 "mychart.labels" 내부에서의 스코프 지정{{ include "mychart.labels" . | nindent 4 }}
.Values.image 값을 yaml 형식으로 변경toJson 도 가능{{ toYaml .Values.image }}
{{ default 'temp' }}
{{ nindent 4 }}
{{ quote .Values.image.name }}
| 이용{{ .Values.image.name | upper | default 'temp' | nindent 4 }}
{{ .Values.image.name | repeat 3 }}