如何从helm图表中的值文件渲染代码块



我在values.yaml中有一个类似的块

extraHosts:
- hosts:
- domain1.tld
port:
name: sftp
number: 22
protocol: TCP
- hosts:
- domain2.tld
port:
name: sftp
number: 2222
protocol: TCP

我想像一样模板化整个区块

servers:
- hosts:
- domain1.tld
port:
name: sftp
number: 22
protocol: TCP
- hosts:
- domain2.tld
port:
name: sftp
number: 2222
protocol: TCP

我试过

servers:
{{- range .Values.extraHosts }}
- {{ . }}
{{- end }}

Helm有一个未记录的toYaml函数,它可以将.Values中的对象作为有效的YAML转储出去。

servers:
{{ toYaml .Values.extraHosts | indent 2 }}

(在这个例子中,indent并不是绝对必要的;如果对象是一个映射而不是一个列表,那么它就是。(

相关内容

  • 没有找到相关文章