文章目錄
- 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官方博客獲取版本更新信息。