Helm 是什么

          * Helm 是 Deis 開發(fā)的一個(gè)用于 Kubernetes 應(yīng)用的包管理工具,主要用來管理 Charts。有點(diǎn)類似于 Ubuntu 中的 APT 或
          CentOS 中的 YUM。
          * Helm Chart 是用來封裝 Kubernetes 原生應(yīng)用程序的一系列 YAML 文件??梢栽谀悴渴饝?yīng)用的時(shí)候自定義應(yīng)用程序的一些
          Metadata,以便于應(yīng)用程序的分發(fā)。
          對于應(yīng)用發(fā)布者而言,可以通過 Helm 打包應(yīng)用、管理應(yīng)用依賴關(guān)系、管理應(yīng)用版本并發(fā)布應(yīng)用到軟件倉庫。
          * 對于使用者而言,使用 Helm 后不用需要編寫復(fù)雜的應(yīng)用部署文件,可以以簡單的方式在 Kubernetes 上查找、安裝、升級、回滾、卸載應(yīng)用程序。
          做為 Kubernetes 的一個(gè)包管理工具,Helm具有如下功能:

          * 創(chuàng)建新的 chart
          * chart 打包成 tgz 格式
          * 上傳 chart 到 chart 倉庫或從倉庫中下載 chart
          * 在Kubernetes集群中安裝或卸載 chart
          * 管理用Helm安裝的 chart 的發(fā)布周期
          Helm 組件及相關(guān)術(shù)語

          本文中講到的是helm V2最新版本,V3版本也已經(jīng)發(fā)布了beta版,在 Helm 3 中,Tiller 被移除了。

          *
          Helm
          Helm 是一個(gè)命令行下的客戶端工具。主要用于 Kubernetes 應(yīng)用程序 Chart 的創(chuàng)建、打包、發(fā)布以及創(chuàng)建和管理本地和遠(yuǎn)程的 Chart 倉庫。

          *
          Tiller
          Tiller 是 Helm 的服務(wù)端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的請求,并根據(jù) Chart 生成
          Kubernetes 的部署文件( Helm 稱為 Release ),然后提交給 Kubernetes 創(chuàng)建應(yīng)用。Tiller 還提供了 Release
          的升級、刪除、回滾等一系列功能。

          *
          Chart
          包含了創(chuàng)建Kubernetes的一個(gè)應(yīng)用實(shí)例的必要信息,Helm 的軟件包,采用 TAR 格式。類似于 APT 的 DEB 包或者 YUM 的 RPM
          包,其包含了一組定義 Kubernetes 資源相關(guān)的 YAML 文件。

          *
          Repoistory
          Helm 的軟件倉庫,Repository 本質(zhì)上是一個(gè) Web 服務(wù)器,該服務(wù)器保存了一系列的 Chart 軟件包以供用戶下載,并且提供了一個(gè)該
          Repository 的 Chart 包的清單文件以供查詢。Helm 可以同時(shí)管理多個(gè)不同的 Repository。

          *
          Release
          是一個(gè) chart 及其配置的一個(gè)運(yùn)行實(shí)例,使用 helm install 命令在 Kubernetes 集群中部署的 Chart 稱為 Release。

          Helm 工作流程

          *
          Chart Install 過程
          Helm 從指定的目錄或者 TAR 文件中解析出 Chart 結(jié)構(gòu)信息。
          Helm 將指定的 Chart 結(jié)構(gòu)和 Values 信息通過 gRPC 傳遞給 Tiller。
          Tiller 根據(jù) Chart 和 Values 生成一個(gè) Release。
          Tiller 將 Release 發(fā)送給 Kubernetes 用于生成 Release。

          *
          Chart Update 過程
          Helm 從指定的目錄或者 TAR 文件中解析出 Chart 結(jié)構(gòu)信息。
          Helm 將需要更新的 Release 的名稱、Chart 結(jié)構(gòu)和 Values 信息傳遞給 Tiller。
          Tiller 生成 Release 并更新指定名稱的 Release 的 History。
          Tiller 將 Release 發(fā)送給 Kubernetes 用于更新 Release。

          *
          Chart Rollback 過程
          Helm 將要回滾的 Release 的名稱傳遞給 Tiller。
          Tiller 根據(jù) Release 的名稱查找 History。
          Tiller 從 History 中獲取上一個(gè) Release。
          Tiller 將上一個(gè) Release 發(fā)送給 Kubernetes 用于替換當(dāng)前 Release。

          *
          Chart 處理依賴說明
          Tiller 在處理 Chart 時(shí),直接將 Chart 以及其依賴的所有 Charts 合并為一個(gè) Release,同時(shí)傳遞給
          Kubernetes。因此 Tiller 并不負(fù)責(zé)管理依賴之間的啟動(dòng)順序。Chart 中的應(yīng)用需要能夠自行處理依賴關(guān)系。

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點(diǎn)信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                乱伦色网| 成人免费无码淫片在线观看免费 | 亚洲天堂中文字幕 | 成人性生活电影两区 三区 四区 五区 | 色噜噜狠狠狠狠色综合 |