本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
编织 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 存储库
其中:
-
第 1 步:合并拉取请求 (PR)。开发者提交对存储在 Git 存储库中的 Kubernetes 清单或 Helm 图表的更改。审核 PR 并将其合并到主分支后,将在源代码管理中更新应用程序的所需状态。
-
步骤 2:存储库同步。Weave 在 EKS 集群的 Flux 命名空间中 GitOps运行,并持续监控配置的 Git 存储库。当它检测到更改时,它会提取最新的更新以协调声明的状态。
-
步骤 3:部署到目标命名空间。Weave GitOps 将来自 Git 的所需状态与集群中的实时状态进行比较。然后,它会对目标工作负载命名空间进行必要的更改,以便相应地部署或更新应用程序。