Helm常用命令大全(2025最新版)
文章目录
- Helm常用命令大全(2025最新版)
- 一、基础命令与环境配置
- 版本与帮助信息
- 安装与升级Helm
- Linux系统安装
- 版本升级注意事项
- 二、仓库管理命令
- 仓库基础操作
- OCI仓库支持(v3.8+新特性)
- 三、Chart操作命令
- Chart创建与打包
- Chart搜索与下载
- 四、Release管理核心命令
- 安装部署应用
- 升级与回滚
- 卸载与暂停
- 五、配置管理与自定义
- 配置覆盖优先级
- 配置校验与调试
- 六、状态查看与问题排查
- 基础状态查询
- 高级问题排查
- 七、高级功能与安全加固
- Chart签名与验证
- 依赖管理
- 性能优化命令
- 八、命令行变更与兼容说明
- 九、常见问题解决
Helm常用命令大全(2025最新版)
一、基础命令与环境配置
版本与帮助信息
Helm 3.18.1作为2025年最新稳定版,提供以下基础命令用于环境验证和帮助查询:
命令 | 描述 | 示例 |
---|---|---|
helm version | 查看Helm客户端版本 | helm version --short 返回 v3.18.1+g1234567 |
helm help | 获取命令帮助 | helm help install 查看安装命令详情 |
helm completion bash | 生成Bash自动补全脚本 | source <(helm completion bash) 启用实时补全 |
安装与升级Helm
Linux系统安装
# 下载v3.18.1二进制包
curl -LO https://get.helm.sh/helm-v3.18.1-linux-amd64.tar.gz
# 校验文件完整性(示例SHA256需替换为官网值)
echo "2be99836549413c2f0212d644e8740abd8ba5d7f55484c29d3363cea339891d9 helm-v3.18.1-linux-amd64.tar.gz" | sha256sum -c
# 解压并安装
tar -zxvf helm-v3.18.1-linux-amd64.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/
版本升级注意事项
- 备份配置:升级前执行
cp ~/.config/helm/ ~/.config/helm.bak/
- 性能分析:v3.18.0+支持CPU/内存Profiling,可通过
export HELM_PPROF=localhost:6060
启用
二、仓库管理命令
Helm 3采用分布式仓库模型,需手动添加仓库源。国内常用仓库配置如下:
仓库基础操作
命令 | 描述 | 示例 |
---|---|---|
helm repo add | 添加仓库 | helm repo add bitnami https://charts.bitnami.com/bitnami |
helm repo update | 更新仓库索引 | helm repo update (建议每次安装前执行) |
helm repo list | 查看仓库列表 | helm repo list 显示所有已配置仓库 |
helm repo remove | 删除仓库 | helm repo remove stable |
OCI仓库支持(v3.8+新特性)
Helm 3支持直接使用容器镜像仓库存储Charts(如Harbor、Docker Hub):
# 添加OCI仓库
helm repo add oci://harbor.example.com/chartrepo --username admin --password Harbor12345
# 推送Chart到OCI仓库
helm push mychart-0.1.0.tgz oci://harbor.example.com/chartrepo
三、Chart操作命令
Chart创建与打包
命令 | 描述 | 示例 |
---|---|---|
helm create | 创建新Chart | helm create myapp 生成标准Chart目录结构 |
helm package | 打包Chart | helm package myapp --version 1.0.0 --app-version 2.3.4 |
helm lint | 校验Chart合法性 | helm lint myapp --strict 启用严格模式检查 |
安全提示:v3.17.3+的
helm lint
新增安全策略检查,可检测常见配置风险
Chart搜索与下载
# 从Artifact Hub搜索Chart
helm search hub mysql --version ">=8.0.0"
# 从已添加仓库搜索
helm search repo bitnami/mysql --versions
# 下载Chart到本地
helm pull bitnami/mysql --version 9.14.0 --untar
四、Release管理核心命令
安装部署应用
# 基础安装(指定release名称和命名空间)
helm install my-mysql bitnami/mysql --namespace db --create-namespace# 自定义配置安装
helm install my-nginx bitnami/nginx \--set service.type=NodePort \--set replicaCount=3 \-f production-values.yaml# 自动生成release名称
helm install --generate-name bitnami/redis
升级与回滚
命令 | 描述 | 示例 |
---|---|---|
helm upgrade | 升级Release | helm upgrade my-app ./mychart --atomic --timeout 10m |
helm rollback | 回滚版本 | helm rollback my-app 2 (回滚到版本2) |
helm history | 查看历史记录 | helm history my-app --max 10 |
高级参数:
helm upgrade --history-max 10
限制保留历史版本数量,优化存储
卸载与暂停
# 完全卸载Release
helm uninstall my-app --namespace default# 仅暂停Release(保留资源)
helm uninstall my-app --keep-history
五、配置管理与自定义
配置覆盖优先级
Helm配置覆盖顺序:--set
> 命令行文件 > 默认values.yaml:
# 多值文件合并(后者覆盖前者)
helm install my-app ./chart -f base.yaml -f prod.yaml# 使用--set覆盖嵌套配置
helm install my-app ./chart --set image.tag=v2.1.0 --set ingress.enabled=true
配置校验与调试
v3.18.0引入JSON Schema 2020支持,可通过以下命令验证配置:
# 本地渲染模板并验证
helm template my-app ./chart -f values.yaml --validate# 生成values.schema.json(高级功能)
helm schema-gen values.yaml > values.schema.json
六、状态查看与问题排查
基础状态查询
命令 | 描述 | 示例 |
---|---|---|
helm status | 查看Release状态 | helm status my-app 显示详细部署信息 |
helm list | 列出Release | helm list -n default 查看指定命名空间的Release |
helm get manifest | 获取渲染后的YAML | helm get manifest my-app > deployed.yaml |
高级问题排查
-
查看-values配置:
helm get values my-app -o yaml
-
检查事件日志:
kubectl describe pod/my-app-xxx
(结合Helm状态中的Pod名称) -
Hook失败调试:v3.18.0+支持自动输出Hook失败日志,无需额外命令
-
安装差异对比:使用
helm diff
插件(需先安装helm plugin install https://github.com/databus23/helm-diff
):helm diff upgrade my-app ./chart --ignore-annotations
七、高级功能与安全加固
Chart签名与验证
为防止供应链攻击,Helm支持Chart签名验证:
# 生成GPG密钥
gpg --gen-key
# 签名Chart包
helm package --sign --key 'my-gpg-key' --keyring ~/.gnupg/secring.gpg mychart
# 验证Chart
helm verify mychart-0.1.0.tgz --keyring ~/.gnupg/pubring.gpg
依赖管理
Chart依赖通过Chart.yaml
声明,可通过以下命令管理:
# 更新依赖到charts/目录
helm dependency update mychart
# 查看依赖树
helm dependency list mychart
性能优化命令
v3.18.0新增Profiling功能,可用于诊断大型Chart性能问题:
# 启用CPU Profiling安装Chart
helm install my-app ./large-chart --cpu-profile
# 生成内存Profile报告
helm install my-app ./large-chart --mem-profile
八、命令行变更与兼容说明
Helm 3相比Helm 2有显著命令行变化,以下为常用命令映射:
Helm 2命令 | Helm 3命令 | 备注 |
---|---|---|
helm delete | helm uninstall | 卸载Release |
helm inspect | helm show | 查看Chart详情(如 helm show values ) |
helm fetch | helm pull | 下载Chart到本地 |
helm serve | 移除 | 改用外部仓库服务(如ChartMuseum) |
注意:Helm 3 Release名称仅在命名空间内唯一,不同命名空间可重复使用相同名称
九、常见问题解决
-
Chart验证失败:
helm lint ./mychart --strict # 严格模式检查语法错误 helm template ./mychart | kubectl apply --dry-run=client -f - # 验证Kubernetes兼容性
-
升级超时错误:
helm upgrade my-app ./chart --timeout 15m --atomic # 延长超时并启用原子操作
-
修复依赖冲突:
rm -rf charts/ # 删除现有依赖 helm dependency update ./mychart # 重新拉取依赖
通过上述命令集,可全面覆盖Helm 3.18.x的日常使用场景,从基础部署到高级安全加固。建议定期执行helm repo update
保持Chart索引最新,并关注Helm官方博客获取版本更新信息。