基本介绍

Helm 作为一种 Kubernetes 包管理工具,能够通过 Helm CLI 与 Kubernetes 集群进行交互,实现 Kubernetes 应用程序的安装、升级、卸载、调试等操作。本文将重点介绍 Helm 的基本使用方法。


Chart 仓库(Repository)相关

1、查看 Chart 仓库

helm repo ls
或
helm repo list


2、添加 Chart 仓库

helm repo add <repo_name> <repo_url>
 
# 示例:添加阿里云仓库
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

3、更新 Chart 仓库

# 更新所有 Chart 仓库
helm repo update

# 更新指定 Chart 仓库
helm repo update <repo_name>

🔔 可以在添加仓库的同时,强制更新仓库
helm repo add <repo_name> <repo_url> --force-update

4、移除 Chart 仓库

helm repo remove <repo_name>

5、搜索可用 Chart 列表

# 从本地已添加(全部)Chart 仓库搜索
helm search repo

# 从本地已添加(指定)Chart 仓库搜索
helm search repo <repo_name>

# 从公开的 Chart 仓库搜索
helm search hub

6、搜索指定 Chart

# 从本地已添加 Chart 仓库搜索
helm search repo <chart_name>

# 从公开的 Chart 仓库搜索
helm search hub <chart_name>

Chart 安装包相关

1、创建 Chart 安装包

helm create <chart_name>

# 示例
helm create demo-chart

2、查看 Chart 安装包

tree <chart_name>

🔔 Chart 安装包本质就是文件集合而成的一个目录,目录名称就是 Chart 安装包的名称


3、查看 Chart 安装包信息

helm show chart <chart_name>
或
helm inspect chart <chart_name>

# helm inspect 已更名为 helm show,仍可使用

🔔 Chart 安装包信息实质上就是 Chart.yaml 的内容

4、查看 Chart 安装包配置

helm show values <chart_name>
或
helm inspect values <chart_name>

# helm fetch 已更名为 helm pull,仍可使用

🔔 Chart 安装包配置实质上就是 values.yaml 的内容

5、打包 Chart 安装包

helm package <chart_folder_name>

🔔 打包生成 tgz 格式文件

6、下载 Chart 安装包

helm pull <chart_name>
或
helm fetch <chart_name>

# 可选命令行参数
--version          # 指定版本
-—untar            # 下载后直接解压,并删除 tgz 文件

7、检查 Chart 安装包

helm lint <chart_name>

8、渲染 Chart 安装包生成 YAML 资源清单

helm template <chart_name> > demo.yaml

Chart 实例(Release)相关

1、安装 Chart 实例

helm install <release_name> <chart_name>

# 可选命令行参数
-n               # 安装到指定命名空间下
--generate-name  # 未指定 <release_name> 时,随机生成 <release_name>,否则会报错
-f               # 指定配置文件,即 --values
--set            # 指定配置参数,格式为 --set key=value

⚠️ -f 指定的配置文件或 --set 指定的配置参数具有更高的优先级,会覆盖 values.yaml 文件相同的内容
⚠️ 当命令中有多个 -f 指定的配置文件时,后一个 -f 指定的配置文件具有更高的优先级
⚠️ 当命令中有多个 --set 指定的配置参数时,后一个 --set 指定的参数具有更高的优先级

2、查看 Chart 实例列表

helm ls
或
helm list

# 可选命令行参数
-n              # 查看指定命名空间
-A              # 查看所有命名空间

3、查看 Chart 实例状态

helm status <release_name>

# 可选命令行参数
-n              # 查看指定命名空间


4、查看 Chart 实例信息

# 查看资源清单
helm get manifest <release_name>

# 查看配置参数
helm get values <release_name>

# 查看所有信息(hooks、manifest、notes、values)
helm get all <release_name>

# 可选命令行参数
-n              # 查看指定命名空间

5、升级 Chart 实例版本

helm upgrade <release_name> <chart_name>

# 可选命令行参数
-i               # 即 --install,若实例不存在则安装
-n               # 查看指定命名空间

6、查看 Chart 历史版本

helm history <release_name>

# 可选命令行参数
-n              # 查看指定命名空间

7、回滚 Chart 实例版本

helm rollback <release_name> <version_id>

# 可选命令行参数
-n              # 查看指定命名空间

8、删除 Chart 实例

helm uninstall <release_name>
或
helm delete <release_name>

# helm delete 已更名为 helm uninstall,仍可使用

# 可选命令行参数
-n              # 查看指定命名空间