【K8s】专题十六(2):Kubernetes 包管理工具之 Helm 使用

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

如果对您有帮助,烦请点赞、关注、转发、订阅专栏!


专栏订阅入口

| 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 |


往期精彩文章

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)


目录

一、基本介绍

[二、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              # 查看指定命名空间
相关推荐
我不会起名字3224 小时前
K8s Ingress 返回 502 但后端日志正常:4 类上游断连与排查链
kubernetes·k8s·ingress·502·keepalive
姜鱼问生7 小时前
每次开机手动检查 6 样东西?我写了个 2 秒自检脚本
运维·网络·nginx·docker·容器
wangqiaowq7 小时前
PostgresSQL server Docker 安装部署
运维·docker·容器
程序员阿明8 小时前
docker搭建视频流服务go2rtc,webRTC
docker·容器·webrtc
JavaPub-rodert9 小时前
Docker 容器为什么 stop 半天停不下来?讲透 PID 1、SIGTERM、SIGKILL、僵尸进程与 tini
运维·docker·容器
我不会起名字32210 小时前
Pod 一直 Pending:调度器 5 类失败原因与 kubectl describe 的正确读法
云原生·kubernetes·调度·排查
我不会起名字32212 小时前
K8s 服务 DNS 解析偶发 5 秒超时:conntrack 与 ndots 的 3 个坑
kubernetes·k8s·dns·conntrack·coredns
risc12345612 小时前
万变不离其宗
人工智能·低代码·云原生
EterNity_TiMe_14 小时前
Docker服务越装越多记不住端口?我用Fenrus把NAS里的常用入口整理成一个导航页
运维·人工智能·docker·ai·容器·cpolar
吴声子夜歌14 小时前
Docker入门与实战——libnetwork插件化网络功能
网络·docker·容器