helm的工作原理

helm的工作原理helm 介绍 Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件使用 Helm 后不用需要编写复杂的应用部署文件 可以以简单的方式在 Kubernetes 上查找 安装 升级 回滚 卸载应用程序

大家好,欢迎来到IT知识分享网。

helm介绍

Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件

使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。

helm的工作原理

原理图

相关组件以及相关术语

  • Tiller

Tiller 是 Helm 的服务端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。

  • Chart
    Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。
  • Repoistory
  • Helm 的软件仓库,Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository。 通过以下管理(gitlab,harbor都可以作为其的仓库)
  • Release

使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。

Chart Install 过程

Helm 从指定的目录或者 TAR 文件中解析出 Chart 结构信息。Helm 将指定的 Chart 结构和 Values 信息通过 gRPC 传递给 Tiller。Tiller 根据 Chart 和 Values 生成一个 Release。Tiller 将 Release 发送给 Kubernetes 用于生成 Release。

Chart Update 过程

Helm 从指定的目录或者 TAR 文件中解析出 Chart 结构信息。Helm 将需要更新的 Release 的名称、Chart 结构和 Values 信息传递给 Tiller。Tiller 生成 Release 并更新指定名称的 Release 的 History。Tiller 将 Release 发送给 Kubernetes 用于更新 Release。

Chart Rollback 过程

Helm 将要回滚的 Release 的名称传递给 Tiller。Tiller 根据 Release 的名称查找 History。Tiller 从 History 中获取上一个 Release。Tiller 将上一个 Release 发送给 Kubernetes 用于替换当前 Release。

Tiller 在处理 Chart 时,直接将 Chart 以及其依赖的所有 Charts 合并为一个 Release,同时传递给 Kubernetes。因此 Tiller 并不负责管理依赖之间的启动顺序。Chart 中的应用需要能够自行处理依赖关系。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/174427.html

(0)
上一篇 2025-03-25 12:00
下一篇 2025-03-25 12:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信