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