Helm基础
简介
Helm是 k8s 的一个管理工具,用来简化 k8s 应用的部署和管理,类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM。Helm 提供以下能力:
- 创建新的 charts
- 将 charts 打包成 tgz 文件
- 与 chart 仓库交互
- 安装和卸载 Kubernetes 的应用
- 管理使用 Helm 安装的 charts 的生命周期
基本概念
Helm 有如下几个基本概念:
- Chart: 是 Helm 管理的安装包,里面包含需要部署的安装包资源。可以把 Chart 比作 CentOS yum 使用的 rpm 文件。每个 Chart 包含下面两部分:
- 包的基本描述文件 Chart.yaml
- 放在 templates 目录中的一个或多个 Kubernetes manifest 文件模板
- Config:包含了应用发布配置信息
- Release:是 chart 的部署实例,一个 chart 在一个 Kubernetes 集群上可以有多个 release,即这个 chart 可以被安装多次
- Repository:chart 的仓库,用于发布和存储 chart
Helm 把 Kubernetes 资源(比如 deployments、services 或 ingress 等) 打包到一个 chart 中,而 chart 被保存到 chart 仓库。通过 chart 仓库可用来存储和分享 chart。Helm 使发布可配置,支持发布应用配置的版本管理,简化了 Kubernetes 部署应用的版本控制、打包、发布、删除、更新等操作。
架构
Helm 由两部分组成,客户端 helm 和服务端 tiller。
- Tiller:运行在 Kubernetes 集群上,监听 helm client 请求,通过 chart 构建发布,安装 chart 到 k8s 集群,管理已发布 chart 的升级和卸载。
- Helm:是一个命令行工具,可在本地运行,一般运行在 CI/CD Server 上。
语法
- 多行字符串
操作
|
|