K8S-应用管理

原生Kubernetes 应用安装维护复杂(yaml文件太多)

Helm(配置分离)

  Helm 是 Kubernetes 的包管理器,用于简化应用程序的部署和升级。它使用称为 Chart 的打包格式,其中包含了描述应用程序的所有资源和依赖关系。

  Helm Chart 的格式,将应用所需要的资源文件都包装起来,通过模板化的方法,将一些可变的字段信息都暴露给用户,这使得可以在不同环境中使用相同的 Chart,只需通过参数化来定制。

  Helm 在安装应用的时候,实际上会先去渲染 templates文件夹下的模板文件,将所需要的变量都填入进去,然后再使用渲染后的 kubernetes.yaml 文件进行一个部署

    以 {{ }} 包裹起来的模板文件变量,都是从根目录下的 chart.yaml 以及 values.yaml 中获取出来的。

  用户编写自己的 my-values.yaml 文件,也可以把这个文件在 install 的时候设置起来,这样的话,文件中的参数会覆盖掉原有的一些参数。

  如果用户不想重新去 install 一个新的 app,而是想要升级原来的 app,他也只需要用这个 helm upgrade 的命令把这个 Helm install 这个命令替换掉就可以了。

operator(复杂应用的自动化管理)

  Operator 是一种自定义控制器,它扩展了 Kubernetes API,允许你定义和创建自己的自定义资源(Custom Resource,CR)。Operator 监视这些 CR,并根据定义在 CR 中的规范执行操作。

  Operator的管理:Operator Lifecycle Manager(OLM)是一个由 Red Hat 开发的开源项目,旨在简化和规范 Kubernetes 中 Operator 的生命周期管理。它是 Kubernetes Operator Framework 的一部分。

  

  

posted @ 2023-11-01 19:19  花都八达鸟  阅读(18)  评论(0)    收藏  举报