在values.yaml
的全局部分中包括子图表的安装是最佳实践吗?示例..
根级别values.yaml
global:
foo: bar
subchartA:
enable: true
或者,最佳实践是将子图放在全局部分之外,如下所示。
global:
foo: bar
subchartA:
enable: true
请简要说明原因。谢谢
发布于 2019-12-26 10:26:29
子图表配置设置需要位于顶层,位于global:
块之外。
在样式级别,每个图表都应该是可独立安装的,无论它是否用作一个子图表。类似于stable/mysql图表的内容就是一个合理的例子:您可以手动执行helm install mysql stable/mysql --set mysqlPassword=...
,而无需提及global
。这意味着当您将其作为依赖项包含时,其设置需要位于values.yaml
文件中的子图的键下。
在机械级别,当运行子图表时,subchartA
设置被提升为.Values
,然后原始global:
与之合并(请参见Subcharts and Globals)。因此,子图表本身需要意识到其中的差异
{{/* Option 1 */}}
{{ .Values.global.subchartA.enabled }}
{{/* Option 2 (within subchartA) */}}
{{ .Values.enabled }}
在顶层,您需要使用与所包含的图表兼容的表单。
(如果浏览一下"stable" Helm chart repository,您会发现global
使用得相当少;rabbitmq
允许您声明global.imagePullSecrets
,但这差不多了。)
https://stackoverflow.com/questions/59486778
复制相似问题