View a markdown version of this page

编织 GitOps - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

编织 GitOps

Weave GitOps 由 Weaveworks 开发,该公司是引入该术语的公司。GitOps该工具提供了基于核心 GitOps 原则的全面 GitOps 解决方案。

GitOps 支持

区域图 工具功能

Git 是唯一的真相来源

Weave GitOps 使用 Git 存储库作为定义系统所需状态的权威来源。所有配置,包括应用程序清单、基础架构定义和策略,都存储在 Git 中。

声明式配置

系统依赖于对整个系统状态的声明性描述。这些描述通常是 Kubernetes 清单、Helm 图表或其他声明格式。

自动同步

Weave 会 GitOps 持续监控 Git 存储库的变化。当它检测到更改时,它会自动将其应用于目标环境。

Kubernetes 原生架构

Weave GitOps 是作为一组 Kubernetes 控制器和自定义资源构建的。它使用 Kubernetes 中的扩展机制来提供功能。 GitOps

持续对账

该工具不断将集群的实际状态与 Git 中定义的所需状态进行比较。它会自动校正这些状态之间检测到的任何偏差。

多集群管理

Weave GitOps 支持通过单个控制平面管理多个 Kubernetes 集群。它可以在不同的环境中实现一致的应用程序部署。

政策即代码

Weave GitOps 将政策概念作为执行安全与合规规则的代码相结合。策略与应用程序代码和基础架构定义一起受版本控制。

渐进式交付

此工具支持高级部署策略,例如金丝雀版本和 blue/green 部署。它与 Flagger 集成,可实现自动化、渐进式交付。

可观察性和仪表板

Weave GitOps 提供了用于监控应用程序和集群状态的内置仪表板。它提供了对账流程和集群运行状况的见解。

通过设计确保安全

该工具实现了安全最佳实践,包括 RBAC 集成和机密管理。它支持多种身份验证方法,并与企业身份提供商集成。

可扩展性和集成性

该工具旨在与各种云原生工具配合使用。它支持 Flux、Helm 和 Kustomize 等流行工具。

自助开发者平台

Weave GitOps 可以为开发人员创建自助服务平台。它为应用程序部署提供了模板和护栏。

GitOps  自动化

该工具可自动执行 GitOps 工作流程的许多方面,包括为更新生成拉取请求。

持续交付渠道

它与 CI/CD 系统集成以创建 end-to-end交付管道。

审计与合规性

Weave DevOps 提供了所有更改和操作的完整审计跟踪。它通过版本控制和自动化流程帮助您满足合规性要求。

可扩展性

该工具旨在从小型项目扩展到大型企业级部署。

团队协作

Weave 通过基于 Git 的工作流程 GitOps 促进开发和运营团队之间的协作。

GitOps 作为一项服务

该工具 GitOps 以托管服务形式提供,可简化采用和管理。

混合云和多云支持

Weave GitOps 支持跨不同的云提供商和本地环境进行一致的管理。

持续安全

该工具在整个部署过程中集成了安全扫描和策略实施。

Weave GitOps 实施这些原则是为了提供超越基本部署自动化的全面 GitOps解决方案。它旨在为云原生应用程序创建完整的运营模型,该模型侧重于安全性、可扩展性和易用性。通过遵守这些 GitOps 原则,Weave GitOps 可以帮助组织跨多个集群和云提供商实现对其 Kubernetes 环境的一致、可审计和高效的管理。

有关更多信息,请参阅 Weave GitOps 文档

架构

下图说明了在 EKS GitOps 集群 GitOps 中使用 Weave 的驱动型 CD 工作流程。有关详细信息,请参阅 Weave GitOps 存储库

编织 GitOps 架构和工作流程。 AWS

其中:

  • 第 1 步:合并拉取请求 (PR)。开发者提交对存储在 Git 存储库中的 Kubernetes 清单或 Helm 图表的更改。审核 PR 并将其合并到主分支后,将在源代码管理中更新应用程序的所需状态。

  • 步骤 2:存储库同步。Weave 在 EKS 集群的 Flux 命名空间中 GitOps运行,并持续监控配置的 Git 存储库。当它检测到更改时,它会提取最新的更新以协调声明的状态。

  • 步骤 3:部署到目标命名空间。Weave GitOps 将来自 Git 的所需状态与集群中的实时状态进行比较。然后,它会对目标工作负载命名空间进行必要的更改,以便相应地部署或更新应用程序。