Helm 架構 - 每天5分鐘玩轉 Docker 容器技術(161)

jj1130050965發表於2020-12-08

Helm 架構 - 每天5分鐘玩轉 Docker 容器技術(161)

原創 CloudMan CloudMan 2018-04-30

第161篇

Helm 架構

在實踐之前,我們先來看看 Helm 的架構。

Helm 有兩個重要的概念:chart 和 release。

chart 是建立一個應用的資訊集合,包括各種 Kubernetes 物件的配置模板、引數定義、依賴關係、文件說明等。chart 是應用部署的自包含邏輯單元。可以將 chart 想象成 apt、yum 中的軟體安裝包。

release 是 chart 的執行例項,代表了一個正在執行的應用。當 chart 被安裝到 Kubernetes 叢集,就生成一個 release。chart 能夠多次安裝到同一個叢集,每次安裝都是一個 release。

Helm 是包管理工具,這裡的包就是指的 chart。Helm 能夠:

  1. 從零建立新 chart。

  2. 與儲存 chart 的倉庫互動,拉取、儲存和更新 chart。

  3. 在 Kubernetes 叢集中安裝和解除安裝 release。

  4. 更新、回滾和測試 release。

Helm 包含兩個元件:Helm 客戶端 和 Tiller 伺服器。

Helm 客戶端是終端使用者使用的命令列工具,使用者可以:

  1. 在本地開發 chart。

  2. 管理 chart 倉庫。

  3. 與 Tiller 伺服器互動。

  4. 在遠端 Kubernetes 叢集上安裝 chart。

  5. 檢視 release 資訊。

  6. 升級或解除安裝已有的 release。

Tiller 伺服器執行在 Kubernetes 叢集中,它會處理 Helm 客戶端的請求,與 Kubernetes API Server 互動。Tiller 伺服器負責:

  1. 監聽來自 Helm 客戶端的請求。

  2. 通過 chart 構建 release。

  3. 在 Kubernetes 中安裝 chart,並跟蹤 release 的狀態。

  4. 通過 API Server 升級或解除安裝已有的 release。

簡單的講:Helm 客戶端負責管理 chart;Tiller 伺服器負責管理 release。

下一節我們將安裝和部署 Helm。

書籍:

1.《每天5分鐘玩轉Kubernetes》
https://item.jd.com/26225745440.html(點選“閱讀原文”直達)

2.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html

3.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html

相關文章