helm 概述
Helm
1. Helm 引入
-
之前方式部署應用的基本過程:
- 編寫 YAML 文件:
- Deployment
- Service
- Ingress
- 編寫 YAML 文件:
-
如果使用之前方式部署單一應用,少數服務的應用,比較合適:
- 例如部署微服務項目,可能有幾十個服務,每個服務都有一套 YAML 文件,需要維護大量 YAML 文件,版本管理特別不方便。
2. 使用 Helm 可以解決哪些問題?
- 使用 Helm 可以把這些 YAML 作為一個整體管理。
- 實現 YAML 高效複用。
- 使用 Helm 應用級別的版本管理。
3. Helm 介紹
Helm 是一個 Kubernetes 的包管理工具,類似於 Linux 下的包管理器,如 yum/apt 等,可以很方便地將之前打包好的 YAML 文件部署到 Kubernetes 上。
Helm 有 3 個重要概念:
-
Helm:
一個命令行客戶端工具,主要用於 Kubernetes 應用 Chart 的創建、打包、發布和管理。 -
Chart:
應用描述,一系列用於描述 Kubernetes 資源相關文件的集合。 -
Release:
基於 Chart 的部署實體。一個 Chart 被 Helm 運行後將會生成對應的一個 Release;
它會在 Kubernetes 中創建出真實運行的資源對象。
Helm 在 2019 年發布 V3 版本,和之前版本相比有變化
- V3 版本刪除 Tiller,架構變化。
- Release 可以在不同命名空間重用。
- 將 Chart 推送到 Docker 倉庫中。
