gpt4 book ai didi

kubernetes - 以编程方式覆盖 Helm 子图中的值

转载 作者:行者123 更新时间:2023-12-02 12:03:30 28 4
gpt4 key购买 nike

我搜索了几个小时,但找不到解决我问题的任何方法。

简短版:可以在模板制作时添加新的.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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com