请!是否可以将多个Helm模板压缩成一个模板,然后在部署文件中将其称为单行模板?
EG:
{{- define "foo.deploy" -}}
value:
{{- include "foo.1" . | nindent 6 }}
{{- include "foo.2" . | nindent 6 }}
{{- include "foo.3" . | nindent 6 }}
然后执行 {{-包括“ foo.deploy”。 }} 。
然后应包含foo.1,foo.2和foo.3以及它们各自的定义。
与从字面上写出所有三个不同的“包含”相对,特别是在您有负载的情况下。
非常感谢
谢谢
答案 0 :(得分:0)
命名模板(有时称为部分模板或子模板)只是在文件内部定义的模板,并具有名称。我们将看到两种创建方式,以及几种不同的使用方式。 模板名称是全局的。结果,如果用相同的名称声明了两个模板,则最后一个将被使用。由于子图中的模板是与顶级模板一起编译的,因此最好使用图表特定的名称来命名模板。流行的命名约定是在每个已定义的模板前添加图表名称:{{define“ mychart.labels”}}。
有关命名模板的更多信息,您可以在这里找到:named-template。
正确的配置文件应如下所示:
{{/* Generate basic labels */}}
{{- define "mychart.labels" }}
labels:
generator: helm
date: {{ now | htmlDate }}
{{- end }}
在您的情况下,文件的一部分应如下所示:
{{- define "foo.deploy" -}}
{{- include "foo.1" . | nindent 6 }}
{{- include "foo.2" . | nindent 6 }}
{{- include "foo.3" . | nindent 6 }}
{{ end }}