天天看點

K8S helm

Helm 緻力于成為 Kubernetes 的包管理工具,可以友善地發現、共享和建構 Kubernetes 應用,它包含幾個基本概念:

Chart:一個 Helm 包,其中包含了運作一個應用所需要的鏡像、依賴和資源定義等,還可能包含 Kubernetes 叢集中的服務定義,類似 Homebrew 中的 formula,APT 的 dpkg 或者 Yum 的 rpm 檔案;

Release: 在 Kubernetes 叢集上運作的 Chart 的一個執行個體。在同一個叢集上,一個 Chart 可以安裝很多次。每次安裝都會建立一個新的 release。例如一個 MySQL Chart,如果想在伺服器上運作兩個資料庫,就可以把這個 Chart 安裝兩次。每次安裝都會生成自己的 Release,會有自己的 Release 名稱;

Repository:用于釋出和存儲 Chart 的倉庫

Helm 元件

Helm 采用用戶端/伺服器架構,有如下元件組成:

helm : 用戶端,管理本地的 Chart 倉庫,管理 Chart, 與 Tiller 伺服器互動,發送 Chart, 執行個體安裝,查詢,解除安裝等操作

Tiller : 服務端,接收 helm 發來的 Charts 與 Config,合并生成 release

Repository : Chart 倉庫,Helm用戶端通過HTTP協定來通路倉庫中Chart的索引檔案和壓縮包

RBAC配置檔案示例:

https://github.com/helm/helm/blob/master/docs/rbac.md

官方可用的Chart清單:

https://hub.kubeapps.com

helm常用指令:

release管理:

install

delete

upgrade/rollback

list

history:release的曆史資訊

status 擷取release狀态資訊

chart管理:

create

inspect

package

verify

管理chart依賴

繼續閱讀