本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!
如果对您有帮助,烦请点赞、关注、转发、订阅专栏!
专栏订阅入口
| 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 |
往期精彩文章
目录
[二、Chart 仓库(Repository)相关](#二、Chart 仓库(Repository)相关)
[1、查看 Chart 仓库](#1、查看 Chart 仓库)
[2、添加 Chart 仓库](#2、添加 Chart 仓库)
[3、更新 Chart 仓库](#3、更新 Chart 仓库)
[4、移除 Chart 仓库](#4、移除 Chart 仓库)
[5、搜索可用 Chart 列表](#5、搜索可用 Chart 列表)
[6、搜索指定 Chart](#6、搜索指定 Chart)
[三、Chart 安装包相关](#三、Chart 安装包相关)
[1、创建 Chart 安装包](#1、创建 Chart 安装包)
[2、查看 Chart 安装包结构](#2、查看 Chart 安装包结构)
[3、查看 Chart 安装包信息](#3、查看 Chart 安装包信息)
[4、查看 Chart 安装包配置](#4、查看 Chart 安装包配置)
[5、打包 Chart 安装包](#5、打包 Chart 安装包)
[6、下载 Chart 安装包](#6、下载 Chart 安装包)
[7、检查 Chart 安装包语法](#7、检查 Chart 安装包语法)
[8、渲染 Chart 安装包生成 YAML 资源清单](#8、渲染 Chart 安装包生成 YAML 资源清单)
[四、Chart 实例(Release)相关](#四、Chart 实例(Release)相关)
[1、安装 Chart 实例](#1、安装 Chart 实例)
[2、查看 Chart 实例列表](#2、查看 Chart 实例列表)
[3、查看 Chart 实例状态](#3、查看 Chart 实例状态)
[4、查看 Chart 实例信息](#4、查看 Chart 实例信息)
[5、升级 Chart 实例版本](#5、升级 Chart 实例版本)
[6、查看 Chart 实例历史版本](#6、查看 Chart 实例历史版本)
[7、回滚 Chart 实例版本](#7、回滚 Chart 实例版本)
[8、删除 Chart 实例](#8、删除 Chart 实例)
一、基本介绍
Helm 作为一种 Kubernetes 包管理工具,能够通过 Helm CLI 与 Kubernetes 集群进行交互,实现 Kubernetes 应用程序的安装、升级、卸载、调试等操作。本文将重点介绍 Helm 的基本使用方法。
二、Chart 仓库(Repository)相关
1、查看 Chart 仓库
bash
helm repo ls
或
helm repo list
2、添加 Chart 仓库
bash
helm repo add <repo_name> <repo_url>
# 示例:添加阿里云仓库
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
3、更新 Chart 仓库
bash
# 更新所有 Chart 仓库
helm repo update
# 更新指定 Chart 仓库
helm repo update <repo_name>
🔔 可以在添加仓库的同时,强制更新仓库
helm repo add <repo_name> <repo_url> --force-update
4、移除 Chart 仓库
bash
helm repo remove <repo_name>
5、搜索可用 Chart 列表
bash
# 从本地已添加(全部)Chart 仓库搜索
helm search repo
# 从本地已添加(指定)Chart 仓库搜索
helm search repo <repo_name>
# 从公开的 Chart 仓库搜索
helm search hub
6、搜索指定 Chart
bash
# 从本地已添加 Chart 仓库搜索
helm search repo <chart_name>
# 从公开的 Chart 仓库搜索
helm search hub <chart_name>
三、Chart 安装包相关
1、创建 Chart 安装包
bash
helm create <chart_name>
# 示例
helm create demo-chart
2、查看 Chart 安装包结构
bash
tree <chart_name>
🔔 Chart 安装包本质就是文件集合而成的一个目录,目录名称就是 Chart 安装包的名称

3、查看 Chart 安装包信息
bash
helm show chart <chart_name>
或
helm inspect chart <chart_name>
# helm inspect 已更名为 helm show,仍可使用
🔔 Chart 安装包信息实质上就是 Chart.yaml 的内容
4、查看 Chart 安装包配置
bash
helm show values <chart_name>
或
helm inspect values <chart_name>
# helm fetch 已更名为 helm pull,仍可使用
🔔 Chart 安装包配置实质上就是 values.yaml 的内容
5、打包 Chart 安装包
bash
helm package <chart_folder_name>
🔔 打包生成 tgz 格式文件
6、下载 Chart 安装包
bash
helm pull <chart_name>
或
helm fetch <chart_name>
# 可选命令行参数
--version # 指定版本
----untar # 下载后直接解压,并删除 tgz 文件

7、检查 Chart 安装包语法
bash
helm lint <chart_name>

8、渲染 Chart 安装包生成 YAML 资源清单
bash
helm template <chart_name> > demo.yaml
四、Chart 实例(Release)相关
1、安装 Chart 实例
bash
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 实例列表
bash
helm ls
或
helm list
# 可选命令行参数
-n # 查看指定命名空间
-A # 查看所有命名空间
3、查看 Chart 实例状态
bash
helm status <release_name>
# 可选命令行参数
-n # 查看指定命名空间
4、查看 Chart 实例信息
bash
# 查看资源清单
helm get manifest <release_name>
# 查看配置参数
helm get values <release_name>
# 查看所有信息(hooks、manifest、notes、values)
helm get all <release_name>
# 可选命令行参数
-n # 查看指定命名空间
5、升级 Chart 实例版本
bash
helm upgrade <release_name> <chart_name>
# 可选命令行参数
-i # 即 --install,若实例不存在则安装
-n # 查看指定命名空间
6、查看 Chart 实例历史版本
bash
helm history <release_name>
# 可选命令行参数
-n # 查看指定命名空间
7、回滚 Chart 实例版本
bash
helm rollback <release_name> <version_id>
# 可选命令行参数
-n # 查看指定命名空间
8、删除 Chart 实例
bash
helm uninstall <release_name>
或
helm delete <release_name>
# helm delete 已更名为 helm uninstall,仍可使用
# 可选命令行参数
-n # 查看指定命名空间