【发布时间】:2020-11-25 18:02:01
【问题描述】:
我目前正在为 Kubernetes Cronjob 构建通用图表。我有以下模板函数来包含一个 configMap:
{{- define "cronjob.volume.configMap" -}}
{{- $name := index . 0 -}}
{{- $configMapName := index . 1 -}}
name: {{ $name }}
configMap:
name: {{ $configMapName }}
{{- end -}}
我将这个模板包含在这样的图表中:
spec:
jobTemplate:
spec:
template:
spec:
{{- if .Values.configs }}
volumes:
- {{ include "cronjob.volume.configMap" (list "config" "cronjob-config") }}
{{- end }}
我的 values.yaml 看起来像这样:
configs:
test-config: |-
test-config-string
运行helm template 时,我预计结果如下:
spec:
jobTemplate:
spec:
template:
spec:
volumes:
- name: config
configMap:
name: cronjob-config
但是,生成的结果是这样的:
spec:
jobTemplate:
spec:
template:
spec:
volumes:
- name: config
configMap:
name: cronjob-config
我的模板的第一行有适当的缩进,但第二行和第三行的缩进级别与volumes 相同,就在spec.jobTemplate.spec.template.spec 之下。我曾尝试使用include 而不是template 与indent 结合使用,但不幸的是没有成功。我做错了什么?
【问题讨论】:
-
可能是由于您正在使用的编辑器。尝试在终端中 cat 文件,看看缩进是否正确
-
在终端中捕获 configMap 模板文件确实显示正确的缩进,这是您的意思对吗?
标签: kubernetes-helm go-templates