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