Skip to content

Helm

Kubernetes 套件管理神器

軟體分類 生產力 / 開發工具
軟體標籤
開發廠商 Cloud Native Computing Foundation (CNCF)
Stars
29.6k
Forks
7.5k
License
APACHE LICENSE 2.0
Version
v3.13.2
Update
2026-03-12
OS

產品說明

Helm 是一款專為 Kubernetes 設計的開源套件管理器。在 K8s 中部屬應用程式通常需要撰寫大量冗長且複雜的 YAML 檔(Deployment, Service, Ingress 等),而 Helm 透過 Charts 的概念,將這些資源打包成一個可重複使用的範本。

透過 Helm,你可以使用簡單的指令完成複雜服務的部署。它支援強大的「變數替換」功能,讓你同一套 Chart 只要透過修改 values.yaml,就能輕鬆部署到開發(Dev)、測試(Staging)與正式(Prod)環境。此外,Helm 也提供了完善的版本控制,支援「一鍵回滾」,大幅降低了雲端維運的風險。

核心特色:

  • Chart 封裝機制:將 K8s 資源打包,實現應用程式的版本化管理。
  • 參數化配置:透過 values.yaml 動態注入參數,無需手動修改每個 YAML 檔。
  • 版本回滾 (Rollback):紀錄每次部署的歷史(Release),出錯時可秒速恢復至舊版。
  • 龐大的生態系:透過 Artifact Hub 可以找到數千個預先封裝好的知名軟體(如 MySQL, Nginx, Jenkins)。

常用指令

Helm 3 移除了伺服器端的 Tiller 元件,操作變得更加安全且簡潔:

基礎操作流程

# 加入官方或第三方的 Chart 倉庫
helm repo add bitnami [https://charts.bitnami.com/bitnami](https://charts.bitnami.com/bitnami)

# 搜尋倉庫中的軟體
helm search repo mysql

# 安裝一個應用程式 (Release)
helm install my-db bitnami/mysql

# 查看目前叢集中已部署的所有 Release
helm list

# 升級應用程式 (例如更改了設定或映像檔版本)
helm upgrade my-db bitnami/mysql -f custom-values.yaml

# 發生錯誤時,回滾至前一個版本
helm rollback my-db 1
常用指令功能說明使用時機
helm create建立一個新的 Chart 範本開始開發自定義 K8s 應用程式包時
helm template本地渲染 YAML 預覽在正式部屬前檢查輸出結果是否正確時
helm status查看特定 Release 的詳情確認 K8s 資源是否已成功啟動時
helm uninstall移除已安裝的應用程式釋放叢集資源並刪除關聯物件時
helm package將 Chart 資料夾打包成 .tgz準備發佈或分享你的應用程式包時

進階技巧

  • Values 優先權:你可以同時使用多個 values 檔案,例如 helm install -f base.yaml -f prod.yaml,後面的設定會覆蓋前面的,方便管理不同環境的差異。

  • Dry Run 測試:執行 helm install --debug --dry-run 可以讓你看到渲染後的 YAML 內容,而不會真的在叢集中建立資源,是除錯的最佳手段。

  • 依賴管理:在 Chart.yaml 中定義 dependencies,可以讓 Helm 自動幫你下載該應用程式所需的所有基礎設施(如資料庫)。


操作介面