目前的问题是,helm 的 value 会有多个,因为有很多个环境,如果 value 中新增一项,那么要在所有 value.yaml 中添加那一项,新增子 chart 的方案感觉很乱所有没有用,还有什么其他可以管理的方案不
目前的问题是,helm 的 value 会有多个,因为有很多个环境,如果 value 中新增一项,那么要在所有 value.yaml 中添加那一项,新增子 chart 的方案感觉很乱所有没有用,还有什么其他可以管理的方案不
|
arischowFeb 18, 2024
1
|
|
dummyxFeb 18, 2024
2
你是一个 chart 使用在多个应用上?
|
|
a842543374Feb 18, 2024
3
试试 helmfile
|
|
4
@fengxsong 不是,是一个 chart 应用在多套环境,其中也有离线环境,所以添加一个配置项的时候,需要手动维护多个 value.yaml
|
|
5
@a842543374 好的我学习下
|
|
6
@arischow 3q
|
|
airycanonFeb 18, 2024
7
听起来 kustomize overlay 挺适合你的。
|
|
sampengFeb 18, 2024
8
因为一次 helm template 过程是可以传递多个 value.yaml.
其次 value.yaml 是覆盖关系。所以可以抽取一个公共的 common.yaml.公共的放这里面。 最后,就可以做到改一个 yaml 所有环境自动调整好。 当然也有坏处,多一个文件就要多一个说明。时间长了记不住 |
|
sampengFeb 18, 2024
9
比如我的 helm 就是
helm install -f common.yaml -f prod.yaml helm install -f common.yaml -f test.yaml helm install -f common.yaml -f staging.yaml |
|
10
@sampeng 这个我尝试过,但是还是要维护多个 value 的 yaml ,如果要新增一个多个环境有差别的配置的话
|
|
mightybruceFeb 19, 2024
11
这时候 yaml 是不够的,
你需要尝试一下 HCL CUE KCL 这样的通用语言去生成 Yaml 了 https://kcl-lang.io/docs/user_docs/getting-started/intro/ |
|
dummyxFeb 19, 2024
12
|
|
sampengFeb 19, 2024
13
@kikyou12138 多个环境就是要维护多个 yaml 。否则,就要用类似 hcl ,cue 之类的语言从配置中心自动来生成 yaml 。取决你的需求。helm 的 value 变更一般很小。一个月一次?甚至只要这个环境定了就不动了。。。
|
|
14
@sampeng 好的我去了解下,我们多个环境变动很频繁,所以才有这个需求
|
|
clhlcFeb 19, 2024
15
看起来 7 楼方案适合你,不过我用 3 楼方案
|
|
windcodeJun 13, 2024
16
可以考虑 KCL+Kusion
|