Helm 架构 — Kubernetes(48)

in kubernetes •  7 years ago 

在实践之前,我们先来看看 Helm 的架构。

Helm 有两个重要的概念:chart 和 release。

chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart 是应用部署的自包含逻辑单元。可以将 chart 想象成 apt、yum 中的软件安装包。

release 是 chart 的运行实例,代表了一个正在运行的应用。当 chart 被安装到 Kubernetes 集群,就生成一个 release。chart 能够多次安装到同一个集群,每次安装都是一个 release。

Helm 是包管理工具,这里的包就是指的 chart。Helm 能够:

  1. 从零创建新 chart。
  2. 与存储 chart 的仓库交互,拉取、保存和更新 chart。
  3. 在 Kubernetes 集群中安装和卸载 release。
  4. 更新、回滚和测试 release。

Helm 包含两个组件:Helm 客户端 和 Tiller 服务器。

786.png

Helm 客户端是终端用户使用的命令行工具,用户可以:

  1. 在本地开发 chart。
  2. 管理 chart 仓库。
  3. 与 Tiller 服务器交互。
  4. 在远程 Kubernetes 集群上安装 chart。
  5. 查看 release 信息。
  6. 升级或卸载已有的 release。

Tiller 服务器运行在 Kubernetes 集群中,它会处理 Helm 客户端的请求,与 Kubernetes API Server 交互。Tiller 服务器负责:

  1. 监听来自 Helm 客户端的请求。
  2. 通过 chart 构建 release。
  3. 在 Kubernetes 中安装 chart,并跟踪 release 的状态。
  4. 通过 API Server 升级或卸载已有的 release。

简单的讲:Helm 客户端负责管理 chart;Tiller 服务器负责管理 release。

下一节我们将安装和部署 Helm。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!