Helm 是 Kubernetes 的包管理工具,它使用 Chart(类似于软件包)的形式来封装、配置、发布和管理 Kubernetes 应用程序。以下是在 Kubernetes 集群中实战使用 Helm 的基础步骤:
1. 安装 Helm
-
在 macOS 或 Linux 上,可以使用 Homebrew 或 Snap 等包管理器安装 Helm,也可以从官方下载二进制文件手动安装。
-
使用 Homebrew 安装 Helm:
brew install helm
-
在 Windows 上,可以使用 Chocolatey 安装:
choco install kubernetes-helm
-
安装完 Helm 后,需要初始化 Helm 的本地配置(Tiller)并与 Kubernetes 集群建立连接(在 Helm v3 中 Tiller 已经被移除,此步骤已不再需要):
helm init --upgrade # 对于 Helm 2.x 版本
-
对于 Helm 3.x 版本,只需要确保
kubectl
配置正确并连接到了 Kubernetes 集群。
2. 添加 Helm 仓库
- Helm 仓库(如官方仓库 stable 和 incubator)包含了大量预包装好的 Chart,你可以通过
helm repo add
添加仓库:helm repo add stable https://charts.helm.sh/stable helm repo update
3. 搜索 Chart
- 可以使用
helm search repo
命令搜索仓库中的 Chart:helm search repo mysql
4. 安装 Chart
-
选定一个 Chart 后,可以使用
helm install
命令安装它:helm install my-mysql stable/mysql --set persistence.size=10Gi --generate-name
这条命令会在集群中部署 MySQL,并设置持久化卷大小为 10GB,
--generate-name
参数会自动生成一个唯一的 Release 名称。
5. 更新 Chart
- 若要更新已经安装的 Chart,可以使用
helm upgrade
:helm upgrade my-mysql stable/mysql --reuse-values --set persistence.size=20Gi
6. 删除 Chart
- 要卸载一个已经安装的 Chart,可以使用
helm uninstall
:helm uninstall my-mysql
7. 创建和打包自定义 Chart
- Helm 也支持创建和打包自己的应用为 Chart,通常包括 Chart 的模板文件和 values.yaml 等文件。
- 创建一个新的 Chart 项目结构:
helm create my-chart
- 修改 chart 文件夹下的模板和配置文件。
- 打包 Chart 为 tar 文件:
cd my-chart helm package .
- 创建一个新的 Chart 项目结构:
8. 测试 Chart
- 在部署到集群之前,可以使用
helm template
来测试 Chart 的配置和模板渲染:helm template my-chart .
通过这些基础步骤,你就可以开始在 Kubernetes 集群中使用 Helm 进行应用程序的部署、管理和升级了。在实际使用中,根据具体需求,可能还需要结合 Helm 的更多高级特性,如依赖管理、子 Chart 等。