如果您使用 Kubernetes,你可能很清楚。 這就是 Helm 的用武之地; 該解決方案可讓您更輕鬆地管理 Kubernetes 應用程序。
您可以使用 Helm 的“圖表”功能定義和安裝您的應用程序及其每個組件。
在本文中,我將引導您使用 Helm 圖表。 您將能夠自己使用它們。 即使您是 Kubernetes 的新手,我相信您也會從本教程中受益,從而提高 Kubernetes 部署的效率和可管理性。
頭盔概述
舵 是一個 Kubernetes 包管理器,可以簡化應用程序的管理和部署。 “圖表”的使用使用戶能夠創建、安裝和升級複雜的 Kubernetes 應用程序。 可以輕鬆共享 Kubernetes 資源和配置的集合。
這些資源可以在多個應用程序中重複使用,它們由充當模板的圖表定義。 Helm 是 Kubernetes 部署的重要工具。 它還具有其他幾個功能,包括回滾、版本控制和依賴項管理。
舵圖
Helm 圖表是預配置的 Kubernetes 資源包。 可以使用 Helm 簡單地安裝和更改它們。 圖表由多個組件組成,包括模板、值文件和指定構成圖表的各種資源的元數據文件。
Helm 圖表可以保存在圖表存儲庫中,圖表存儲庫是可以在多個環境中共享和分發的圖表集合。 Helm 還支持版本控制,允許用戶跟踪其圖表的多個版本。
因此,他們可以在必要時簡單地回滾到以前的版本。
Helm 圖表及其組件
Helm 圖表由一組文件組成,這些文件指定構成應用程序的 Kubernetes 資源。 這些文件提供了模板,這些模板指定構成圖表的許多 Kubernetes 資源,例如部署、服務和 pod。
用戶可以編輯這些模板並使用值文件為不同情況指定特定參數。 元數據文件,例如 圖表。 yaml,包括有關圖表的信息,例如其名稱、版本和依賴項。
圖表存儲庫和版本控制
圖表存儲庫可以託管在各種站點上,包括 GitHub上, GitLab和 亞馬遜S3,並且可以使用 helm repo add 命令添加到 Helm。
Helm 還支持版本控制,允許用戶跟踪其圖表的多個版本,並在必要時簡單地回滾到以前的版本。
這簡化了在開發、暫存和生產等各種設置中管理和部署應用程序的多個版本。
使用 Helm 圖表的好處
Helm 圖表在控制 Kubernetes 應用程序方面具有多項優勢。 對於初學者來說,圖表讓用戶可以在多個應用程序之間快速交換和重用設置,從而在管理複雜的安裝時節省時間和精力。
圖表也可以進行版本控制並保存在圖表存儲庫中,從而允許簡單地分發和維護應用程序的多個版本。
值文件可用於調整圖表,使將同一應用程序部署到具有不同配置的眾多設置變得簡單。 總的來說,Helm 圖表簡化並擴展了複雜 Kubernetes 設置的管理。
創建一個 Helm Chart
只需幾個簡單的步驟即可製作 Helm 圖表。 首先,您必須在本地計算機上安裝 Helm CLI。 之後,您可以開始製作您的圖表。
創建 Helm 圖表的分步指南
運行命令 helm create 以生成新圖表。 這將創建一個具有所選圖表名稱的新目錄,其中將包含您的圖表所需的文件。
您可以將有關圖表的元數據放在 Chart.yaml 文件中,例如它們的名稱、版本和描述。
圖表的默認設置在 values.yaml 文件中定義。 安裝圖表後,可以修改這些設置,以實現個性化。
templates/ 目錄包含指定 Kubernetes 資源的 YAML 文件,這些資源將在您安裝圖表時生成。 這些文件可以定制以滿足您應用程序的獨特要求。
完成創建圖表後,使用 helm package 命令將其打包。 這將生成一個 a.tgz 文件,可以將其保存到圖表存儲庫並使用 helm install 命令進行安裝。
Helm Chart 的不同組件,例如模板和值文件
在構建 Helm 圖表時,您需要熟悉一些不同的組件。
您可以在 Chart.yaml 文件中輸入有關圖表的元數據,例如它們的名稱、版本和描述。 對於所有圖表,此文件都是必需的。
圖表的默認設置在 values.yaml 文件中定義。 安裝圖表後,可以修改這些設置,以實現個性化。 所有圖表也需要此文件。
templates/ 目錄包含指定 Kubernetes 資源的 YAML 文件,這些資源將在您安裝圖表時生成。 這些文件可以定制以滿足您應用程序的獨特要求。
幫助用戶創建 Helm 圖表的實際示例
可以在線訪問許多 Helm 圖表示例,可以將其用作開發圖表的起點。 Helm 文檔和官方 Helm chart 存儲庫都提供了幾個示例。
為基本的 Node.js 應用程序製作 Helm 圖表是一個實際示例。 該圖需要合併 Kubernetes 資源,例如 Deployment、Service 和 ConfigMap。 要定義應用程序映像、端口和任何環境變量,請使用 values.yaml 文件。
用戶可以按照上述方法並參考實際示例,為自己的 Kubernetes 應用程序簡單地開發自己的 Helm 圖表。
使用 Helm 安裝和升級
在開發 Kubernetes 應用程序後,您可以使用 Helm 圖表來安裝和管理它們。 要安裝圖表,請使用 helm install
命令,後跟圖表的名稱和任何其他設置。
要升級現有圖表,請使用 helm upgrade
命令用新版本替換舊版本。 頭盔還有一個 helm rollback
可用於撤消升級的命令。
Helm 的高級功能
Helm 還有一些額外的功能可以幫助您管理 Kubernetes 應用程序。 這些優勢之一是能夠使用環境變量來修改您的 Helm 圖表。
環境變量可用於存儲您不想包含在代碼中的敏感數據,例如密碼或 API 憑據。
Helm 的另一個複雜方面是它與 CI/CD 工作流的兼容性。 這可能會幫助您自動化應用程序部署並確保所有環境的一致性。
要將 Helm 與 CI/CD 管道一起使用,請編寫一個腳本來安裝或升級您的圖表,使用 helm
命令。
使用環境變量自定義 Helm 圖表
您可以在圖表中包含的 values.yaml 文件中定義變量,以將環境變量添加到 Helm 圖表中。 然後可以使用 {{ .Values.variableName }} 語法引用圖表模板中的變量。
將 Helm 與 CI/CD 管道結合使用
您必須首先編寫一個腳本,利用 helm
如果您想將 Helm 與 CI/CD 工作流一起使用,請使用命令來安裝或升級您的圖表。
當您希望部署新版本的應用程序時,您可以將此腳本包含在您的管道中並調用它。
結論
Helm charts 提供了一種打包和分發 Kubernetes 資源的實用方法,Helm 是管理 Kubernetes 應用程序的強大工具。
按照本文中提供的說明進行操作後,您現在應該對如何開發、安裝和管理 Helm 圖表有了紮實的了解。
Helm 可以使您的 Kubernetes 部署更簡單,並且您的應用程序更易於管理,無論您是開發人員還是 系統管理員.
發表評論