helm + kustomize + argocd管理k8s应用
然后用kustomize管理不同应用、不同环境的values.yaml,这样可以保证相同的部分只配置一份,每个实例只需要覆盖或者移除自己不需要的配置。随着k8s的弹性能力和调度能力的发展,越来越多的业务接入了k8s部署,但是基于k8s部署带来的yaml资源文件维护却成了运维工作中比较重的负担。基于cmdb + 规则引擎的yaml配置管理,比如引入istio、挂载pvc等只需要在cmdb里配置相应的
·
背景
随着k8s的弹性能力和调度能力的发展,越来越多的业务接入了k8s部署,但是基于k8s部署带来的yaml资源文件维护却成了运维工作中比较重的负担。
痛点
- 应用发布书yaml需要在发布时修改,且容易改错
- 应用多个环境的yaml大部分内容相同,只有和环境相关的一些值需要定制化,比如ingress域名、label等, 不同环境重复配置问题比较突出。
- 当运维侧引入新的安全策略或者调度策略,不得不修改所有应用的yaml来满足运维管控需求,这时直接面向裸yaml是非常痛苦的。
期望
基于cmdb + 规则引擎的yaml配置管理, 比如引入istio、挂载pvc等只需要在cmdb里配置相应的开关和值就可以渲染出目标yaml
短期
helm 负责应用模板封装,对deployment、service、ingress等资源模板化。
对应用的管理转化为values.yaml文件的管理。
然后用kustomize管理不同应用、不同环境的values.yaml,这样可以保证相同的部分只配置一份,每个实例只需要覆盖或者移除自己不需要的配置。
更多推荐
已为社区贡献2条内容
所有评论(0)