天天看點

在作業系統當中,使用者通常通過軟體包管理工具來安裝或者解除安裝軟體,例如RPM、YUM以及Apt等。通過這些軟體包管理工具,可

作者:Char的沉澱

在作業系統當中,使用者通常通過軟體包管理工具來安裝或者解除安裝軟體,例如RPM、YUM以及Apt等。通過這些軟體包管理工具,可以非常友善地對目前系統中的軟體包進行管理。Kubernetes也提供了相應的軟體包管理功能,即Helm.

Kubernetes是一個提供基于容器的應用叢集管了解決方案,Kubernetes為容器化應用提供了部署運作、資源排程、服務發現和動态伸縮等一系列完整功能。

使用者通過使用Kubernetes API對象來描述應用程式規則,包括Pod、Service、Volume、Namespace、ReplicaSet、Deployment以及Job等。通常情況下,管理者在定義這些資源對象的時候,需要編輯一系列的YAML配置檔案,然後通過Kubernetes指令行工具kubectl調用Kubernetes API進行部署。

以一個典型的三層應用Wordpress為例,該應用程式就涉及多個Kubernetes API對象,而要描述這些Kubernetes API對象,就可能要同時維護多個YAML檔案。

是以,在進行Kubernetes軟體部署時,管理者面臨下述幾個問題:

- 如何管理、編輯和更新這些分散的Kubernetes應用配置檔案。

- 如何把一套相關的配置檔案作為一個應用進行管理。

- 如何分發和重用Kubernetes的應用配置。

Helm的出現就是為了很好地解決上面這些問題。Helm是一個用于Kubernetes應用的軟體包管理工具,主要用來管理Charts。有點類似于Ubuntu中的APT或CentOS中的YUM。

對于應用釋出者而言,可以通過Helm打包應用、管理應用依賴關系、管理應用版本,并釋出應用到軟體倉庫。

對于使用者而言,使用Helm後就不用再編寫複雜的YAML應用部署檔案,可以以簡單的方式在Kubernetes上查找、安裝、更新、復原、解除安裝應用程式。

簡單地講,Helm是一個指令行的用戶端工具,主要用于Kubernetes應用程式的建立、打包、釋出以及建立和管理本地和遠端的軟體倉庫。

1. Chart

Chart即Helm所管理的軟體包,它包含在 Kubernetes 叢集内部運作應用程式,工具或服務所需的所有資源定義。可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等價物。

Chart采用TAR格式,類似于APT的DEB包或者YUM的RPM包,其包含了一組定義Kubernetes資源相關的YAML配置檔案,可以在部署應用的時候自定義應用程式的一些中繼資料

2. Repoistory

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

Repository本質上是一個Web伺服器,該伺服器儲存了一系列的Chart軟體包以供使用者下載下傳,并且提供了一個該Repository所包含的Chart包的清單檔案以供查詢。Helm可以同時管理多個不同的Repository。

添加一個helm repo:

“helm repo add bitnami https://charts.bitnami.com/bitnami”

3. Release

使用helm install指令在Kubernetes叢集中部署的Chart稱為Release。Release實際上是Helm為某個Chart建立的執行個體。 一個 chart 通常可以在同一個叢集中安裝多次。每一次安裝都會建立一個新的 release。以 MySQL chart為例,如果你想在你的叢集中運作兩個資料庫,你可以安裝該chart兩次。每一個資料庫都會擁有它自己的 release 和 release name。

4. Helm安裝Chart示例:

安裝一個mysql:

“helm install bitnami/mysql --generate-name“

指令執行很快,如圖二所示,可以看到安裝的mysql release是mysql-166610224

#Kubernetes##Helm包##Kubernetes Helm ##Kubernetes 包管理#

在作業系統當中,使用者通常通過軟體包管理工具來安裝或者解除安裝軟體,例如RPM、YUM以及Apt等。通過這些軟體包管理工具,可
在作業系統當中,使用者通常通過軟體包管理工具來安裝或者解除安裝軟體,例如RPM、YUM以及Apt等。通過這些軟體包管理工具,可
在作業系統當中,使用者通常通過軟體包管理工具來安裝或者解除安裝軟體,例如RPM、YUM以及Apt等。通過這些軟體包管理工具,可
在作業系統當中,使用者通常通過軟體包管理工具來安裝或者解除安裝軟體,例如RPM、YUM以及Apt等。通過這些軟體包管理工具,可

繼續閱讀