1. 程式人生 > 其它 >helm簡單教程

helm簡單教程

一、helm簡單介紹

Helm是k8s的包管理工具。我們在使用k8s部署服務的時候,經常要建立多個資源物件,並且這些資源物件可能還有先後順序,部署起來會比較麻煩。如果服務需要提供給其他人部署使用,那對大家都是一場災難。(部署過程可能會遇到問題)。這時候,helm就體現出它的作用了,helm支援部署服務時建立多個資源物件如deployment、service等等,並且按一定的順序進行建立。(順序參考官方文件https://helm.sh/zh/docs/intro/using_helm/

當我們打包好chart並且上傳到倉庫後,其他人就可以直接安裝了。簡單方便。

二、helm中的三大概念

Chart代表著 Helm 包。它包含在 Kubernetes 叢集內部執行應用程式,工具或服務所需的所有資源定義。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等價物。

Repository(倉庫)是用來存放和共享 charts 的地方。它就像 Perl 的CPAN 檔案庫網路或是 Fedora 的軟體包倉庫,只不過它是供 Kubernetes 包所使用的。

Release是執行在 Kubernetes 叢集中的 chart 的例項。一個 chart 通常可以在同一個叢集中安裝多次。每一次安裝都會建立一個新的release。以 MySQL chart為例,如果你想在你的叢集中執行兩個資料庫,你可以安裝該chart兩次。每一個數據庫都會擁有它自己的releaserelease name

在瞭解了上述這些概念以後,我們就可以這樣來解釋 Helm:

Helm 安裝charts

到 Kubernetes 叢集中,每次安裝都會建立一個新的release。你可以在 Helm 的 chartrepositories中尋找新的 chart

chart和release感覺像docker中映象和容器一樣,一個是靜態的,一個是執行例項

三、helm的常用命令

1、查詢charts

  • helm search hub從Artifact Hub中查詢並列出 helm charts。 Artifact Hub中存放了大量不同的倉庫。
  • helm search repo從你新增(使用helm repo add)到本地 helm 客戶端中的倉庫中進行查詢。該命令基於本地資料進行搜尋,無需連線網際網路。

2、安裝 helm包

使用helm install命令來安裝一個新的 helm 包。最簡單的使用方法只需要傳入兩個引數:你命名的release名字和你想安裝的chart的名稱。

安裝前修改chart包

helm show values可以檢視chart可配置選項

helm show values helm包名稱

helm install命令可以從多個來源進行安裝:

  • chart 的倉庫(如上所述)
  • 本地 chart 壓縮包(helm install foo foo-0.1.1.tgz)
  • 解壓後的 chart 目錄(helm install foo path/to/foo)
  • 完整的 URL(helm install foo https://example.com/charts/foo-1.2.3.tgz)

3、helm upgrade和helm rollback:升級 release 和失敗時恢復

4、 helm uninstall命令從叢集中解除安裝一個 release:

5、'helm repo':使用倉庫

helm repo list 檢視所有倉庫

helm repo add xxx 新增倉庫

helm repo remove xxx 刪除倉庫

6、建立charts

helm create xxx

建立完成後使用helm lint檢查格式是否正確

7、helm lint xxx

打包

8、helm package xxx

安裝

9、helm install xxx

參考官方文件

https://helm.sh/zh/docs/intro/using_helm/