1. 程式人生 > >Helm 架構 - 每天5分鐘玩轉 Docker 容器技術(161)

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

pen 依賴 docker 容器 AC spa round 升級 col style

在實踐之前,我們先來看看 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

技術分享圖片

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