kubernetes 我可以有多个值.yaml文件的Helm

z4bn682m  于 2023-11-17  发布在  Kubernetes
关注(0)|答案(3)|浏览(166)

我可以在一个Helm chart中有多个values.yaml文件吗?
比如mychart/templates/internalValues.yamlmychart/templates/customSettings.yaml等等。
{{ .Values.property1 }}可以修改values.yaml文件中的属性。如何引用这些自定义values.yaml文件中的属性?

aurhwmvo

aurhwmvo1#

是的,Helm可以有多个值文件。只需使用**--values标志(或-f**)。
示例如下:

helm install ./path --values ./internalValues.yaml --values ./customSettings.yaml

字符串
也可以使用**--set**传入单个值。
示例如下:

helm install ./path --set username=ADMIN --set password=${PASSWORD}

  • 来自官方文件:*

您可以多次指定'--values'/'-f'标志。优先级将赋予最后一个(最右侧)指定的文件。
您可以多次指定'--set'标志。优先级将赋予最后(最右侧)指定的集合。
(Thanks to [Seth](https://stackoverflow.com/users/5505583/seth) for the updated docs link)

xxls0lw8

xxls0lw82#

默认情况下,Helm只使用图表根目录中的values.yaml文件。
您可以在安装时要求它加载其他值文件。例如,如果您有任何指向不同环境中不同数据库的设置:

helm install . -f values.production.yaml

字符串
您还可以通过将其他设置捆绑为文件来获得类似的效果,asking Helm to read the bundled file.helm提供了一个未记录的fromYaml模板函数,它可以解析该文件,因此原则上您可以执行以下操作:

{{- $v := $.Files.Get "more-values.yaml" | fromYaml }}
foo: {{ $v.bar }}

zzzyeukh

zzzyeukh3#

更新:根据当前的official documentation--set--values将不会合并
要覆盖图表中的值,请使用“--values”标志并传入文件,或者使用“--set”标志并从命令行传递配置,以强制字符串值使用“--set-string”。如果值很大,因此您既不想使用“--values”也不想使用“--set”,请使用“--set-file "从文件中读取单个大值。
还有:
您可以多次指定'--values'/'-f'标志。优先级将赋予最后一个(最右侧)指定的文件。

相关问题