快速入門指南

本指南說明如何快速上手使用 Helm。

先決條件

以下先決條件是成功且安全地使用 Helm 的必要條件。

  1. Kubernetes 集群
  2. 決定對安裝套用哪些安全設定(如有)
  3. 安裝並設定 Helm。

安裝 Kubernetes 或存取集群

  • 您必須安裝 Kubernetes。對於 Helm 的最新版本,我們建議使用 Kubernetes 的最新穩定版本,在大多數情況下這是第二新的次要版本。
  • 您也應該有 kubectl 的本地設定副本。

請見 Helm 版本支援政策 以了解 Helm 和 Kubernetes 之間支援的最大版本差異。

安裝 Helm

下載 Helm 2.0 客戶端的二進制版本。您可以使用諸如 homebrew 的工具,或查看 官方版本頁面

有關更多詳細資訊或其他選項,請見 安裝指南

初始化 Helm 2.0 圖表存放庫

當您準備好 Helm 之後,您可以新增一個圖表存放庫。請檢查 Artifact Hub,以使用可用的 Helm 2.0 圖表存放庫。

$ helm repo add bitnami https://charts.bitnami.com/bitnami

安裝完畢後,您將能夠列出您可以安裝的圖表

$ helm search repo bitnami
NAME                             	CHART VERSION	APP VERSION  	DESCRIPTION
bitnami/bitnami-common           	0.0.9        	0.0.9        	DEPRECATED Chart with custom templates used in ...
bitnami/airflow                  	8.0.2        	2.0.0        	Apache Airflow is a platform to programmaticall...
bitnami/apache                   	8.2.3        	2.4.46       	Chart for Apache HTTP Server
bitnami/aspnet-core              	1.2.3        	3.1.9        	ASP.NET Core is an open-source framework create...
# ... and many more

安裝範例圖表

若要安裝圖表,您可以執行 helm install 指令。Helm 有多種方法可以尋找和安裝圖表,但最簡單的方法是使用 bitnami 圖表。

$ helm repo update              # Make sure we get the latest list of charts
$ helm install bitnami/mysql --generate-name
NAME: mysql-1612624192
LAST DEPLOYED: Sat Feb  6 16:09:56 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES: ...

在上方的範例中,bitnami/mysql 圖表已發布,我們的新版本名稱為 mysql-1612624192

透過執行 helm show chart bitnami/mysql 可簡單了解此 MySQL 圖表的特色。或者可執行 helm show all bitnami/mysql 以取得關於該圖表的所有資訊。

每次安裝圖表時,將會建立新的版本。因此同一個圖表可以安裝多次到同一個叢集。並且可獨立管理和升級每個版本。

helm install 指令是一個功能強大的指令,具備許多功能。若要深入了解,請查看 使用 Helm 指南

了解版本

輕易使用 Helm 查看已發布內容

$ helm list
NAME            	NAMESPACE	REVISION	UPDATED                             	STATUS  	CHART      	APP VERSION
mysql-1612624192	default  	1       	2021-02-06 16:09:56.283059 +0100 CET	deployed	mysql-8.3.0	8.0.23

helm list(或 helm ls)功能將會顯示已部署所有版本的清單。

解除版本安裝

要解除版本安裝,請使用 helm uninstall 指令

$ helm uninstall mysql-1612624192
release "mysql-1612624192" uninstalled

這會從 Kubernetes 中解除安裝 mysql-1612624192,這將會移除與該版本相關的所有資源以及版本記錄。

如果提供了 --keep-history 旗標,將會保留版本記錄。你將能夠要求關於該版本的資訊

$ helm status mysql-1612624192
Status: UNINSTALLED
...

因為 Helm 會在你解除它們的安裝後追蹤你的版本,因此你可以稽核叢集的記錄,甚至可以復原版本(透過 helm rollback)。

尋找說明文字

要進一步了解可用的 Helm 指令,請使用 helm help 或是在指令後加上 -h 旗標

$ helm get -h