Helm模板有工具可以处理由{{
和}}
带来的多余空行问题问题。
首先,模板声明的大括号语法可以通过特殊的字符修改,并通知模板引擎取消空白。{{-
(包括添加的横杠和空格)表示向左删除空白, 而 -}}
表示右边的空格应该被去掉。 一定注意换行也是空格。
要确保-
和其他命令之间有一个空格。 {{- 3 }}
表示“删除左边空格并打印3”,而{{-3 }}
表示“打印-3”。
使用这个语法,我们就可修改我们的模板,去掉新加的空白行:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}
{{- if eq .Values.favorite.drink "coffee" }}
mug: "true"
{{- end }}
只是为了把这一点搞清楚,我们来调整上述内容,用一个*
来代替每个遵循此规则被删除的空白, 在行尾的*
表示被删除的换行符(没有受到影响的换行符未标出):
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}*
**{{- if eq .Values.favorite.drink "coffee" }}
mug: "true"*
**{{- end }}