【发布时间】:2019-12-11 02:42:13
【问题描述】:
我是 Helm 的新手。
我在父图表中有一个默认值。我想默认在每个子图表中使用这个值,但也有可能覆盖特定子图表的值。
例子:
# Parent-chart values.yaml
global:
schedule: 10m
默认情况下,所有子图表都将使用此值。但是如果我运行这样的东西:
helm install --set subchart-A.schedule="20m"
子图-A 将使用值“20m”。
我在考虑两种可能性:
- 也许我可以以某种方式将子图表值链接到全局值:
# Subchart values.yaml
schedule: {{ .Values.global.schedule }} # it doesn't work
在这种情况下,可以覆盖单个子图的特定值。
- 也许我可以写一个函数
# Pseudocode:
if subchart.schedule is null
printf global.schedule
else
printf subchart.schedule
你会做什么以及通常有什么可能?
【问题讨论】:
-
你能用
default吗?类似{{ .Values.global.schedule | default subchart-A.schedule }}helm.sh/docs/topics/chart_template_guide/variables -
值 yaml 文件不能接受变量。所以,选项1被排除。正如您所提到的,选项 2 是更好的选择。
-
@hmatt1,谢谢,它完全符合我的需要(但颠倒过来,默认为全局)。不幸的是,文档中并不清楚。您可以将其添加为答案,然后我将关闭问题。
标签: kubernetes-helm