大家好,欢迎来到IT知识分享网。
helm介绍
Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件
使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。

原理图
相关组件以及相关术语
- 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