如何将变量从父级传递到子级?

时间:2019-07-12 09:45:41

标签: kubernetes kubernetes-helm

我是新手,我想知道如何将变量从父包传递给子包。 我有一个多微服务应用程序,其中包含以下不同的头盔包:

$ tree parent/
parent/
├── charts/
│   ├── child-A-0.0.1.tgz
│   ├── child-B-0.0.1.tgz
│   └── child-C-0.0.1.tgz
├── Chart.yaml
├── templates/
│   ├── NOTES.txt
│   └── secret.yaml
└── values.yaml

例如,我想在父级public-IP中设置values.yaml,并在安装public-IP通过的父级并将其设置在子级中时。

1 个答案:

答案 0 :(得分:2)

Overriding values of a child chart在Helm文档中进行了描述。

在父图表的values.yaml文件(或传递给helm install -f的外部文件)中,您可以显式覆盖子图表的值:

childA:
  publicIP: 10.10.10.10

顶级值键global也总是传递给子图,但是该图需要知道如何查找。

global:
  publicIP: 10.10.10.10
env:
  - name: PUBLIC_IP
    value: {{ .Values.global.publicIP }}

此解析发生在Helm设置阶段的早期,因此无法将计算值传递到子图表,也无法将父图表的顶级配置中的相同值传递到子图表中,而无需将事物重构为{{1 }}。

相关问题