我搜索了几个小时,但找不到解决我问题的任何方法。
简短版:可以在模板制作时添加新的.Value
属性吗?
加长版:我想将ElasticStack与Logstash,Kibana,Elasticsearch一起部署,并且我想对Kibana和Elasticsearch使用正式的 Helm 模板。
我的想法是用3个子图表创建一个新的图表(麋鹿)。
elk
charts
elasticsearch (official helm template)
values.yaml
kibana (official helm template)
values.yaml
logstash
values.yaml
templates
values.yaml
我的问题是顶级
values.yaml
中相同属性的多重声明我的
elk/values.yaml
如下所示elasticsearch:
clusterName: "elasticsearchtest"
imageTag: "7.3.0"
replicas: 3
minimumMasterNodes: 2
volumeClaimTemplate:
storageClassName: gp2-resize
kibana:
elasticsearchHosts: "http://elasticsearchtest-master:9200"
imageTag: "7.3.0"
logstash:
elasticsearchHosts: "http://elasticsearchtest-master:9200"
imageTag: "7.3.0"
如果要更改
clustername
或指定imagetag
,请注意重新排列。用这种方式覆盖子图的值确实很不好。可以这样创建一个顶级
values.yaml
:clusterName: "elasticsearchtest"
imageTag: "7.3.0"
并在模板制作时覆盖子图表值?
最佳答案
如果您不打算使用外部工具(例如Ytt),则无法将values.yaml模板化
https://github.com/helm/helm/issues/2492
但是,如果可以在子图中更改values.yaml,则可以将其分配给全局变量,并在父Helm图表中对其进行一次定义。
关于kubernetes - 以编程方式覆盖 Helm 子图中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57457785/