首页 > 解决方案 > 我可以从 helm 模板中的值文件中引用整个部分吗?

问题描述

我有我的 values.yaml 如下

account:
  - name: abc
    value: value1
  - name: xyz
    value: value2

我想在我的 helm 模板中引用它们。而不是将它们称为

accounts:
  - name: acount1
    value: "{{ .Values.account.abc }}"
  - name: account2
    value: "{{ .Values.account.xyz }}"

有没有办法可以将模板中的整个块引用为

accounts:
      {{ .Values.account }}

它将遍历 values.yaml 文件中传递的所有值?

标签: kubernetes-helm

解决方案


Helm 有一个文档最少的toYaml函数,可以将任意结构编写为 YAML。您还需要accounts:在输出结构中缩进它,并且小枝 indentnindent函数可以帮助解决这个问题。

accounts: {{- .Values.account | toYaml | trim | nindent 2 }}

推荐阅读