首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【K8s】Kubernetes 包管理工具之 Helm 使用

【K8s】Kubernetes 包管理工具之 Helm 使用

作者头像
行者Sun
发布2025-02-25 08:27:23
发布2025-02-25 08:27:23
64110
代码可运行
举报
运行总次数:0
代码可运行

6、下内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发!如果您有其他想要了解的,欢迎私信联系我~

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

Chart 仓库(Repository)相关

1、查看 Chart 仓库

代码语言:javascript
代码运行次数:0
运行
复制
helm repo ls
或
helm repo list

2、添加 Chart 仓库

代码语言:javascript
代码运行次数:0
运行
复制
helm repo add <repo_name> <repo_url>
 
# 示例:添加阿里云仓库
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

3、更新 Chart 仓库

代码语言:javascript
代码运行次数:0
运行
复制
# 更新所有 Chart 仓库
helm repo update

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

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

4、移除 Chart 仓库

代码语言:javascript
代码运行次数:0
运行
复制
helm repo remove <repo_name>

5、搜索可用 Chart 列表

代码语言:javascript
代码运行次数:0
运行
复制
# 从本地已添加(全部)Chart 仓库搜索
helm search repo

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

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

6、搜索指定 Chart

代码语言:javascript
代码运行次数:0
运行
复制
# 从本地已添加 Chart 仓库搜索
helm search repo <chart_name>

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

Chart 安装包相关

1、创建 Chart 安装包

代码语言:javascript
代码运行次数:0
运行
复制
helm create <chart_name>

# 示例
helm create demo-chart

2、查看 Chart 安装包

代码语言:javascript
代码运行次数:0
运行
复制
tree <chart_name>

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

3、查看 Chart 安装包信息

代码语言:javascript
代码运行次数:0
运行
复制
helm show chart <chart_name>
或
helm inspect chart <chart_name>

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

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

4、查看 Chart 安装包配置

代码语言:javascript
代码运行次数:0
运行
复制
helm show values <chart_name>
或
helm inspect values <chart_name>

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

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

5、打包 Chart 安装包

代码语言:javascript
代码运行次数:0
运行
复制
helm package <chart_folder_name>

🔔 打包生成 tgz 格式文件

6、下载 Chart 安装包

代码语言:javascript
代码运行次数:0
运行
复制
helm pull <chart_name>
或
helm fetch <chart_name>

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

7、检查 Chart 安装包

代码语言:javascript
代码运行次数:0
运行
复制
helm lint <chart_name>

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

代码语言:javascript
代码运行次数:0
运行
复制
helm template <chart_name> > demo.yaml

Chart 实例(Release)相关

1、安装 Chart 实例

代码语言:javascript
代码运行次数:0
运行
复制
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 实例列表

代码语言:javascript
代码运行次数:0
运行
复制
helm ls
或
helm list

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

3、查看 Chart 实例状态

代码语言:javascript
代码运行次数:0
运行
复制
helm status <release_name>

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

4、查看 Chart 实例信息

代码语言:javascript
代码运行次数:0
运行
复制
# 查看资源清单
helm get manifest <release_name>

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

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

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

5、升级 Chart 实例版本

代码语言:javascript
代码运行次数:0
运行
复制
helm upgrade <release_name> <chart_name>

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

6、查看 Chart 历史版本

代码语言:javascript
代码运行次数:0
运行
复制
helm history <release_name>

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

7、回滚 Chart 实例版本

代码语言:javascript
代码运行次数:0
运行
复制
helm rollback <release_name> <version_id>

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

8、删除 Chart 实例

代码语言:javascript
代码运行次数:0
运行
复制
helm uninstall <release_name>
或
helm delete <release_name>

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

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

书籍推荐

最后推荐一本笔者从 Docker 进阶到 Kubernetes 自学过程中,受益较深的书籍。笔者经常复读,并结合工作实践不断加深理解和体会,可谓常读常新。希望这本书可以帮助到更多对 Kubernetes 感兴趣或刚开始学习的读者。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 实施运维知识交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档