有什么方便管理 k8s yaml 的工具吗, helm 已经不够用了

310 天前
 kikyou12138

目前的问题是,helm 的 value 会有多个,因为有很多个环境,如果 value 中新增一项,那么要在所有 value.yaml 中添加那一项,新增子 chart 的方案感觉很乱所有没有用,还有什么其他可以管理的方案不

2189 次点击
所在节点    Kubernetes
16 条回复
arischow
310 天前
fengxsong
310 天前
你是一个 chart 使用在多个应用上?
a842543374
310 天前
试试 helmfile
kikyou12138
310 天前
@fengxsong 不是,是一个 chart 应用在多套环境,其中也有离线环境,所以添加一个配置项的时候,需要手动维护多个 value.yaml
kikyou12138
310 天前
@a842543374 好的我学习下
kikyou12138
310 天前
airycanon
310 天前
听起来 kustomize overlay 挺适合你的。
sampeng
310 天前
因为一次 helm template 过程是可以传递多个 value.yaml.
其次 value.yaml 是覆盖关系。所以可以抽取一个公共的 common.yaml.公共的放这里面。
最后,就可以做到改一个 yaml 所有环境自动调整好。

当然也有坏处,多一个文件就要多一个说明。时间长了记不住
sampeng
310 天前
比如我的 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
kikyou12138
310 天前
@sampeng 这个我尝试过,但是还是要维护多个 value 的 yaml ,如果要新增一个多个环境有差别的配置的话
mightybruce
310 天前
这时候 yaml 是不够的,
你需要尝试一下 HCL CUE KCL 这样的通用语言去生成 Yaml 了
https://kcl-lang.io/docs/user_docs/getting-started/intro/
fengxsong
309 天前
sampeng
309 天前
@kikyou12138 多个环境就是要维护多个 yaml 。否则,就要用类似 hcl ,cue 之类的语言从配置中心自动来生成 yaml 。取决你的需求。helm 的 value 变更一般很小。一个月一次?甚至只要这个环境定了就不动了。。。
kikyou12138
309 天前
@sampeng 好的我去了解下,我们多个环境变动很频繁,所以才有这个需求
clhlc
309 天前
看起来 7 楼方案适合你,不过我用 3 楼方案
windcode
194 天前
可以考虑 KCL+Kusion

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1016312

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX