本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
編織 GitOps
Weave GitOps 是由 Weaveworks 開發,這是引進 GitOps 一詞的公司。此工具提供以核心 GitOps 原則為基礎的全方位 GitOps 解決方案。
GitOps 支援
| 區域圖 | 工具功能 |
|---|---|
Git 作為單一事實來源 |
Weave GitOps 使用 Git 儲存庫做為授權來源,以定義系統所需的狀態。所有組態,包括應用程式資訊清單、基礎設施定義和政策,都存放在 Git 中。 |
宣告式組態 |
系統依賴整個系統狀態的宣告性描述。這些描述通常是 Kubernetes 資訊清單、Helm Chart 或其他宣告格式。 |
自動化同步 |
Weave GitOps 會持續監控 Git 儲存庫的變更。當它偵測到變更時,會自動將其套用至目標環境。 |
Kubernetes 原生架構 |
Weave GitOps 建置為一組 Kubernetes 控制器和自訂資源。它使用 Kubernetes 中的延伸機制來提供 GitOps 功能。 |
持續對帳 |
此工具會持續比較叢集的實際狀態與 Git 中定義的所需狀態。它會自動更正在這些狀態之間偵測到的任何偏離。 |
多叢集管理 |
Weave GitOps 支援從單一控制平面管理多個 Kubernetes 叢集。它可在不同的環境中實現一致的應用程式部署。 |
政策即程式碼 |
Weave GitOps 將政策的概念整合為強制執行安全與合規規則的程式碼。政策是隨應用程式程式碼和基礎設施定義一起控制版本。 |
漸進式交付 |
此工具支援進階部署策略,例如 Canary Releases 和藍/綠部署。它與 Flagger 整合,以實現自動化、漸進式交付。 |
可觀測性和儀表板 |
Weave GitOps 提供內建儀表板,用於監控應用程式和叢集的狀態。它提供對調校程序和叢集運作狀態的洞察。 |
依設計保護 |
此工具實作安全最佳實務,包括 RBAC 整合和秘密管理。它支援各種身分驗證方法,並與企業身分提供者整合。 |
可擴展性和整合 |
該工具旨在使用各種雲端原生工具。它支援常用的工具,例如 Flux、Helm 和 Kustomize。 |
自助式開發人員平台 |
Weave GitOps 可讓開發人員建立自助式平台。它為應用程式部署提供範本和護欄。 |
GitOps 自動化 |
此工具可自動化 GitOps 工作流程的許多層面,包括產生更新請求。 |
持續交付管道 |
它與 CI/CD 系統整合,以建立end-to-end交付管道。 |
稽核與合規 |
編織 DevOps 提供所有變更和動作的完整稽核線索。它可協助您透過版本控制和自動化程序來滿足合規要求。 |
可擴展性 |
該工具旨在從小型專案擴展到大型企業級部署。 |
團隊協作 |
Weave GitOps 透過 Git 型工作流程促進開發和營運團隊之間的協作。 |
GitOps 即服務 |
此工具提供 GitOps 做為受管服務,可簡化採用和管理。 |
混合雲端和多雲端支援 |
Weave GitOps 可在不同的雲端提供者和內部部署環境中實現一致的管理。 |
持續安全性 |
該工具在整個部署過程中整合了安全掃描和政策強制執行。 |
Weave GitOps 實作這些原則,以提供超越基本部署自動化的全方位 GitOps 解決方案。它旨在為專注於安全性、可擴展性和易用性的雲端原生應用程式建立完整的操作模型。透過遵循這些 GitOps 原則,Weave GitOps 可協助組織跨多個叢集和雲端供應商,實現一致、可稽核且高效率的 Kubernetes 環境管理。
如需詳細資訊,請參閱 Weave GitOps 文件
架構
下圖說明在 GitOps EKS 叢集中使用 Weave GitOps 的 GitOps 驅動 CD 工作流程。如需詳細資訊,請參閱 Weave GitOps 儲存庫
其中:
-
步驟 1:提取請求 (PR) 合併。開發人員會將變更遞交至存放在 Git 儲存庫中的 Kubernetes 資訊清單或 Helm Chart。檢閱 PR 並合併到主分支時,會在來源控制中更新應用程式的所需狀態。
-
步驟 2:儲存庫同步。Weave GitOps 會在 EKS 叢集中的 Flux 命名空間內執行,並持續監控設定的 Git 儲存庫。當偵測到變更時,它會提取最新的更新,以協調宣告的狀態。
-
步驟 3:部署至目標命名空間。Weave GitOps 會將 Git 中所需的狀態與叢集中的即時狀態進行比較。然後,它會將必要的變更套用至目標工作負載命名空間,以便相應地部署或更新應用程式。