本页目录

Helm 操作手册

Helm 是 Kubernetes 的包管理器。核心概念: chart (应用模板), release (chart 的安装实例), repository (chart 仓库), values (配置覆盖)。

查看

helm list -A                                              # 所有 namespace 的 release
helm list -n <ns>
helm status <release> -n <ns>                             # 当前状态 + 部署资源
helm history <release> -n <ns>                            # 版本历史 (revision 号)
helm get values <release> -n <ns>                         # 当前使用的 values
helm get values <release> -n <ns> --revision 3           # 历史版本 values
helm get manifest <release> -n <ns>                       # 最终生成的 K8s YAML
helm get notes <release> -n <ns>                          # release 说明 (部署后提示)

# repo
helm repo list
helm search repo <keyword>                                # 搜 chart
helm search repo nginx --versions                        # 看所有版本
helm show values bitnami/nginx                            # chart 默认 values

操作

# 安装
helm install <name> <chart> -n <ns> --create-namespace
helm install <name> <chart> -n <ns> -f values.yaml        # 自定义配置
helm install <name> <chart> -n <ns> --set replicaCount=3  # 命令行覆盖单个值

# 升级
helm upgrade <name> <chart> -n <ns> -f values.yaml
helm upgrade --install <name> <chart> -n <ns>             # 不存在则 install (幂等)
helm upgrade <name> <chart> -n <ns> --dry-run             # 模拟 (看会改什么)

# 回滚
helm rollback <name> <revision> -n <ns>
helm rollback <name> 1 -n <ns>                            # 回滚到第一个版本

# 卸载
helm uninstall <name> -n <ns>
helm uninstall <name> -n <ns> --keep-history              # 保留历史

# repo 管理
helm repo add <name> <url>
helm repo update                                           # 更新本地 cache
helm repo remove <name>

Chart 调试

# 本地渲染 (不连接 K8s)
helm template <name> <chart> -f values.yaml | less        # 看最终 YAML
helm template <name> <chart> -f values.yaml | kubectl diff -f -   # 与实际对比

# 语法检查
helm lint <chart>

# 查看 Helm 部署了哪些 K8s 资源
helm get manifest <release> -n <ns> | kubectl get -f - -o wide