天天看點

Helm安裝及配置

helm是kubernetes的包管理工具,用于簡化部署和管理 kubernetes 應用。用來管理charts——預先配置好的安裝包資源。

helm和charts的主要作用:

應用程式封裝

版本管理

依賴檢查

便于應用程式分發

helm是一個c/s架構的軟體,helm相當于一個用戶端,tiller是一個服務端

helm cli 是 helm 用戶端,可以在本地執行

tiller 是伺服器端元件,在 kubernetes 群集上運作,并管理 kubernetes 應用程式的生命周期

repository 是 chart 倉庫,helm用戶端通過http協定來通路倉庫中chart的索引檔案和壓縮包

helm工作原理

Helm安裝及配置

chart install 過程:

helm從指定的目錄或者tgz檔案中解析出chart結構資訊

helm将指定的chart結構和values資訊通過grpc傳遞給tiller

tiller根據chart和values生成一個release

tiller将release發送給kubernetes用于生成release

chart update過程:

helm将要更新的release的名稱和chart結構,values資訊傳遞給tiller

tiller生成release并更新指定名稱的release的history

tiller将release發送給kubernetes用于更新release

chart rollback過程:

helm将要復原的release的名稱傳遞給tiller

tiller根據release的名稱查找history

tiller從history中擷取上一個release

tiller将上一個release發送給kubernetes用于替換目前release

檢視版本資訊

建立服務賬戶

初始化tiller

注意:離線環境中需要顯式指明 --tiller-image,并且需要與helm client的版本一緻,如上面的v2.14.3,下面通過環境變量方式自動選擇合适版本