編織 GitOps - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

編織 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 儲存庫

編排 GitOps 架構和工作流程 AWS。

其中:

  • 步驟 1:提取請求 (PR) 合併。開發人員會將變更遞交至存放在 Git 儲存庫中的 Kubernetes 資訊清單或 Helm Chart。檢閱 PR 並合併到主分支時,會在來源控制中更新應用程式的所需狀態。

  • 步驟 2:儲存庫同步。Weave GitOps 會在 EKS 叢集中的 Flux 命名空間內執行,並持續監控設定的 Git 儲存庫。當偵測到變更時,它會提取最新的更新,以協調宣告的狀態。

  • 步驟 3:部署至目標命名空間。Weave GitOps 會將 Git 中所需的狀態與叢集中的即時狀態進行比較。然後,它會將必要的變更套用至目標工作負載命名空間,以便相應地部署或更新應用程式。