Min*_*Mai 8 yaml go kubernetes kubernetes-helm
当我的图表使用{{ include }}. 例如,我的清单看起来像这样
containers:
- name: {{ .Release.Name }}
image: {{ .Values.global.image}}:{{ .Values.global.imageTag }}
imagePullPolicy: {{ .Values.global.pullPolicy }}
ports:
- containerPort: {{ .Values.gloabl.containerPort }}
{{ include "common_deployment" . }}
Run Code Online (Sandbox Code Playgroud)
我common_deployment的定义为
{{- define "common_deployment" }}
envFrom:
- secretRef:
name: {{ .Release.Name }}-secret
{{- end -}}
Run Code Online (Sandbox Code Playgroud)
当我在 Helm 上进行试运行后查看我的清单时,我的模板看起来像这样
containers:
- name: test
image: myrepo/myimage:latest
imagePullPolicy: Always
ports:
- containerPort: 4444
envFrom:
- secretRef:
name: test-secret
Run Code Online (Sandbox Code Playgroud)
请注意在ports和之间有一个新的谎言envFrom。我想知道这是否会影响我的 pod 的结果,因为安装卷时存在问题,我希望能够在进入另一个兔子洞之前确保这个模板问题是罪魁祸首。
wei*_*eld 11
include当您将函数与函数一起使用时,需要考虑一件事indent,以缩进模板,如下所示:
{{- include "common_deployment" . | indent 4 }}
Run Code Online (Sandbox Code Playgroud)
上面的命令还将引入的前导换行符缩进include4 个空格,因此结果输出将如下(空格表示为$):
ports:
- containerPort: 4444$$$$\n
$$$$envFrom:
$$$$ - secretRef:
$$$$ name: test-secret
Run Code Online (Sandbox Code Playgroud)
这不会破坏 YAML 语法,因为无论如何都会忽略空格,但它可能会被报告,例如在diff输出中。
为了防止这种情况,您可以修剪include该trim函数生成的前导换行符,并使用该nindent函数,如下所示:
{{- include "common_deployment" . | trim | nindent 4 }}
Run Code Online (Sandbox Code Playgroud)
现在,仅缩进模板的实际行,并通过函数插入换行符nindent:
ports:
- containerPort: 4444\n
$$$$envFrom:
$$$$ - secretRef:
$$$$ name: test-secret
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6461 次 |
| 最近记录: |