利用Kubernetes部署一個應用,需要Kubernetes原生資源檔案如deployment、replicationcontroller、service或pod 等。而對于一個複雜的應用,會有很多類似上面的資源描述檔案,如果有更新或復原應用的需求,可能要修改和維護所涉及的大量資源檔案,且由于缺少對釋出過的應用版本管理和控制,使Kubernetes上的應用維護和更新等面臨諸多的挑戰,而Helm可以幫我們解決這些問題。
Helm基本架構如下:
Helm官方網頁将Helm定義為“Kubernetes的軟體包管理器”,但不止于此。Helm是用于管理在Kubernetes叢集管理器中運作的應用程式的工具.Helm提供了一組用于管理應用程式的操作,例如:檢查,安裝,更新和删除。
Helm是包管理器(類似yum和apt),Charts 是包 (類似于debs和rpms)
在Kubernetes叢集中運作和管理應用程式的最簡單方法是使用Helm。Helm允許您執行管理應用程式的關鍵操作,如安裝,更新或删除。如前所述,Helm由兩部分組成:Helm(用戶端)和Tiller(伺服器)。按照以下步驟完成Helm和Tiller的安裝。
直接下載下傳Helm的二進制檔案:
OSX
Linux的
Windows
解壓縮<code>helm</code>二進制檔案并将其添加到PATH中,就可以了!
建立tiller使用者,綁定超級權限,當然你也可以綁定其他角色
建立服務賬戶
安裝tiller
初始化配置的時候, Helm 會去 gcr.io 中拉取 tiller 的鏡像, 而且會将 "https://kubernetes-charts.storage.googleapis.com" 做為 stable repository 位址 需要使用代理
輸出結果如下:
修改Tiller的服務賬戶
安裝示例 CHART
查詢版本
解除安裝release
解除安裝之後還可以查詢該release狀态,甚至可以取消删除<code>helm rollback</code>
