在實踐以前,咱們先來看看 Helm 的架構。html
Helm 有兩個重要的概念:chart 和 release。服務器
chart 是建立一個應用的信息集合,包括各類 Kubernetes 對象的配置模板、參數定義、依賴關係、文檔說明等。chart 是應用部署的自包含邏輯單元。能夠將 chart 想象成 apt、yum 中的軟件安裝包。架構
release 是 chart 的運行實例,表明了一個正在運行的應用。當 chart 被安裝到 Kubernetes 集羣,就生成一個 release。chart 可以屢次安裝到同一個集羣,每次安裝都是一個 release。工具
Helm 是包管理工具,這裏的包就是指的 chart。Helm 可以:測試
從零建立新 chart。命令行
與存儲 chart 的倉庫交互,拉取、保存和更新 chart。htm
在 Kubernetes 集羣中安裝和卸載 release。對象
更新、回滾和測試 release。blog
Helm 包含兩個組件:Helm 客戶端 和 Tiller 服務器。開發
Helm 客戶端是終端用戶使用的命令行工具,用戶能夠:
在本地開發 chart。
管理 chart 倉庫。
與 Tiller 服務器交互。
在遠程 Kubernetes 集羣上安裝 chart。
查看 release 信息。
升級或卸載已有的 release。
Tiller 服務器運行在 Kubernetes 集羣中,它會處理 Helm 客戶端的請求,與 Kubernetes API Server 交互。Tiller 服務器負責:
監聽來自 Helm 客戶端的請求。
經過 chart 構建 release。
在 Kubernetes 中安裝 chart,並跟蹤 release 的狀態。
經過 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