K8S - Helm

1 - Helm

Helm是Kubernetes的包管理器。
通過Helm可以使用一個名爲Chart的資源模板化並打包Kubernetes資源,比如Deployment,Service,ConfigMap,Ingress等。
可以在安裝時使用輸入參數來配置這些資源,也可以使用依賴項實現包安裝時複用現有圖表。

  • 創建新的chart包
  • 將charts包文件打包壓縮
  • 同chart倉庫進行集成,獲取charts文件
  • 安裝及卸載charts到kubernetes集羣
  • 管理通過helm安裝的charts應用

官方信息

2 - 架構

概念

  • chart: 一個 Helm 包,其中包含了運行一個應用所需要的鏡像、依賴和資源定義等,還可能包含 Kubernetes 集羣中的服務定義。
  • release:在 Kubernetes 集羣上運行的 Chart 的一個實例。在同一個集羣上,一個 Chart 可以安裝很多次,每次安裝都會創建一個新的 release。
  • repository:用於發佈和存儲 Chart 的倉庫,Helm客戶端通過HTTP協議來訪問倉庫中Chart的索引文件和壓縮包。

組件

  • Helm CLI: Helm 的客戶端組件,通過 gRPC aAPI 向 Tiller 發送請求
  • Tiller: Helm 的服務器端組件,在 Kubernetes 羣集上運行
    負載解析客戶端端發送過來的 Chart,並根據 Chart 中的定義在 Kubernetes 中創建出相應的資源,tiller 把 release 相關的信息存入 Kubernetes 的 ConfigMap 中。

3 - Helm存儲庫

Helm存儲庫可以託管用於管理應用程序的Chart。
Helm提供了一個CLI,用於從給定的Helm存儲庫裏安裝應用程序到指定的Kubernetes環境中。
一些衆所周知的軟件應用程序的各種穩定Helm圖表可以在如下鏈接中找到,

4 - 參考信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章