helm包管理工具
Helm 是 Kubernetes(K3s/K8s)的包管理器,就像 Linux 的 apt/yum、Python 的 pip,专门用来一键安装、管理、升级集群里的复杂应用
一、一句话定位
Helm = K8s 应用的 “一键安装 + 版本管理 + 配置中心” 工具,底层还是调用 kubectl API,但帮你把一堆 YAML 打包、模板化、可复用
二、三大核心概念(必须懂)
| 概念 | 通俗理解 | 作用 |
|---|---|---|
| Chart | 应用安装包(.tgz) | 包含所有 K8s 资源模板(Deployment/Service/Ingress 等)+ 默认配置 |
| Repository | 应用商店 | 存放 Chart 的仓库(如 Bitnami、官方仓库),可添加、搜索、下载 |
| Release | 已安装的应用实例 | 每个 helm install 生成一个 Release,可多实例、可回滚、可卸载 |
三、Helm 3 核心特点(现在都用 V3)
- 纯客户端:去掉了旧版的 Tiller 服务端,直接用你的
kubeconfig权限操作集群,更安全、更简单 - 模板化配置:用
values.yaml统一改参数,不用手动改一堆 YAML - 版本与回滚:
helm upgrade/helm rollback一键升级 / 回退,有历史记录 - 一键清理:
helm uninstall自动删干净所有关联资源,无残留Helm
四、为什么要用 Helm(对比纯 kubectl)
- 纯 kubectl:写一堆 YAML → 逐个
apply→ 改配置要逐个改 → 升级 / 回滚 / 卸载麻烦 → 无版本记录 - Helm:一条命令安装 → 统一
values.yaml配置 → 一键升级 / 回滚 / 卸载 → 有版本、可复用、适合生产
五、常用命令:
# 1. 添加仓库(以 Bitnami 为例)
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
# 2. 搜索 Chart
helm search repo nginx
# 3. 安装(生成 Release)
helm install my-nginx bitnami/nginx
# 4. 查看已安装的 Release
helm list
# 5. 升级(改配置后)
helm upgrade my-nginx bitnami/nginx -f values.yaml
# 6. 回滚
helm rollback my-nginx 1
# 7. 卸载(彻底清理)
helm uninstall my-nginx
六、场景:
- 集群组件:Longhorn、Traefik、Prometheus、Grafana 等 → 必须用 Helm,省心、易维护
- 简单业务:单个 Nginx、小服务 → 可用
kubectl或 Helm
一句话总结:Helm 让 K8s 应用部署从 “手动拼积木” 变成 “一键安装软件“
七、安装
一键安装:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
查看版本:

知名公共仓库(常用):
- Bitnami:https://charts.bitnami.com/bitnami(最常用,替代原 stable)
- Prometheus Community:https://prometheus-community.github.io/helm-charts
- Grafana:https://grafana.github.io/helm-charts
- Jetstack(Cert-Manager):https://charts.jetstack.io
- Elastic:https://helm.elastic.co
- Harbor:https://helm.goharbor.io
- Nginx Ingress:https://kubernetes.github.io/ingress-nginx


