概述
Helm 是在 Kubernetes 叢集上部署和管理應用程式的關鍵工具。您可以從 Charts 儲存庫搜尋、安裝應用程式,並透過版本控制進行升級和回滾。這使得將複雜的 Kubernetes 資源組織成單一邏輯單元進行管理變得更加容易。
主要功能
Helm 提供的主要功能包括:
- Kubernetes 應用程式打包 (Charts)
- Charts 儲存庫管理與搜尋
- 應用程式部署、升級和回滾
- 發行版管理與歷史記錄追蹤
- 透過範本實現靈活配置
安裝
Helm 通常不會預設安裝在大多數 Linux 發行版中,因此需要手動安裝。以下是常見的安裝方法。
使用指令碼安裝 (建議)
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
這是使用官方安裝指令碼安裝 Helm 的最常見且推薦的方法。
使用 Homebrew 安裝 (macOS/Linux)
brew install helm
如果您使用 Homebrew 套件管理器,可以使用以下指令安裝 Helm。
使用 apt 安裝 (Debian/Ubuntu)
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
在基於 Debian 或 Ubuntu 的系統上,您可以使用 apt 套件管理器安裝 Helm。
主要子命令
Helm 命令透過各種子命令 (subcommands) 提供靈活的 Kubernetes 應用程式管理功能。以下是一些常用的主要子命令。
發行版管理
Chart 管理
資訊查詢
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`helm` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
以下是一些使用 Helm 的主要功能來管理 Kubernetes 應用程式的範例。
新增 Chart 儲存庫
helm repo add bitnami https://charts.bitnami.com/bitnami
新增 Bitnami Charts 儲存庫,以便使用各種應用程式 Charts。
更新 Chart 儲存庫
helm repo update
更新所有已新增 Chart 儲存庫的資訊至最新狀態。
搜尋 Chart
helm search repo nginx
在儲存庫中搜尋包含關鍵字「nginx」的 Charts。
安裝 Chart
helm install my-nginx bitnami/nginx
以名稱「my-nginx」安裝 Bitnami 的 Nginx Chart。
查看發行版列表
helm list
查看目前 Kubernetes 叢集中已部署的所有 Helm 發行版列表。
升級發行版
helm upgrade my-nginx bitnami/nginx --set service.type=NodePort
升級現有的「my-nginx」發行版,並將 Nginx 服務類型變更為 NodePort。
移除發行版
helm uninstall my-nginx
移除名為「my-nginx」的發行版及其相關的所有 Kubernetes 資源。
提示與注意事項
以下是有效使用 Helm 和避免潛在問題的提示和注意事項。
Helm Chart 開發與驗證
開發自己的 Charts 或修改現有 Charts 時的實用提示。
- 使用 `helm create <chart-name>` 命令建立基本的 Chart 結構,然後修改 `values.yaml` 和範本檔案來定義您的應用程式。
- 使用 `helm lint <chart-path>` 命令驗證 Chart 的有效性,並提前發現潛在的錯誤或警告。這有助於在部署前解決問題。
安全的發行版管理
減少部署和升級時潛在風險的方法。
- 在執行 `helm install` 或 `helm upgrade` 時,同時使用 `--dry-run --debug` 選項,以便在實際部署前預覽渲染後的 YAML 清單。這對於提前發現意外變更或錯誤非常有用。
- 從 Helm 3 開始,移除發行版不再需要 `--purge` 選項,預設會移除所有資源。如果您想保留發行版歷史記錄,請使用 `helm uninstall --keep-history <release-name>`。
指定命名空間
將發行版部署到特定的 Kubernetes 命名空間的方法。
- 說明: 在執行 `helm install` 或 `helm upgrade` 時,使用 `--namespace <namespace-name>` 選項可將發行版部署到指定的命名空間。如果該命名空間不存在,您可以添加 `--create-namespace` 選項來自動建立它。