在掌舵中使用全局参数而不运行主图

时间:2018-11-09 16:47:50

标签: kubernetes-helm

我有头盔图的这种结构:

-chart A- \
                   -chart A1
                   -chart A2
-chart B- \
                   -chart B1
                   -chart B2
-chart C-\
                   -chart C1
                   -chart C3

我需要的是一个全局参数或环境变量,可以将其应用于所有图表,而无需在所有图表上方都具有主图表。

因此,当我运行头盔安装时,我不必使用--set将此参数传递给所有“主要”图表(A,B,C)。

这可能吗?

2 个答案:

答案 0 :(得分:1)

您可以为--set赋予多个-fhelm install选项,因此最好的解决方案是将“全局”设置写入文件并始终传递{{1 }}选项中的-f global-settings.yaml(以及您拥有的任何其他特定于图表的设置和值文件)。

如果要安装的所有内容都在单个命名空间中,则取决于设置的实际用途,将它们放入共享的ConfigMap中可能会起作用。这有点棘手(您可能需要手动运行helm install命令),使用Helm值可以执行很多操作,而使用共享ConfigMap则无法完成这些操作。但是,按照您在问题中建议的方式,它是“自动的”。您完全不需要任何Helm选项即可使用它。

答案 1 :(得分:1)

您可能要考虑使用Time delta > 1s: 1.001061 文件来覆盖图表的默认属性,并使用该环境变量对该文件进行模板化。我认为该方法比使用xxx.yaml cli选项更容易维护。

另一种方法是使用Landscaper n上列出的类似Helm documentatio的东西以简单的方式为图表制作模板