背景

随着k8s的弹性能力和调度能力的发展,越来越多的业务接入了k8s部署,但是基于k8s部署带来的yaml资源文件维护却成了运维工作中比较重的负担。

痛点

  1. 应用发布书yaml需要在发布时修改,且容易改错
  2. 应用多个环境的yaml大部分内容相同,只有和环境相关的一些值需要定制化,比如ingress域名、label等, 不同环境重复配置问题比较突出。
  3. 当运维侧引入新的安全策略或者调度策略,不得不修改所有应用的yaml来满足运维管控需求,这时直接面向裸yaml是非常痛苦的。

期望

基于cmdb + 规则引擎的yaml配置管理, 比如引入istio、挂载pvc等只需要在cmdb里配置相应的开关和值就可以渲染出目标yaml

短期

在这里插入图片描述
helm 负责应用模板封装,对deployment、service、ingress等资源模板化。

对应用的管理转化为values.yaml文件的管理。

然后用kustomize管理不同应用、不同环境的values.yaml,这样可以保证相同的部分只配置一份,每个实例只需要覆盖或者移除自己不需要的配置。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐