我搜索了几个小时,但找不到解决我问题的方法。
简短版本:可以在模板制作时添加新的.Value
属性吗?
长版:我想用Logstash,Kibana,Elasticsearch部署ElasticStack,并且要对Kibana和Elasticsearch使用正式的头盔模板。
我的想法是用3个子图表创建一个新的图表(elk)。
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"
并在模板化时覆盖子图的值?
答案 0 :(得分:2)
如果您不打算使用外部工具(例如Ytt),则无法将values.yaml模板化
但是,如果可以在子图中更改values.yaml,则可以将其分配给全局变量,并在父Helm图表中对其进行一次定义。