第 2 章 关于 Red Hat OpenShift GitOps
Red Hat OpenShift GitOps 是一个使用 Argo CD 作为声明性 GitOps 引擎的 Operator。它启用了多集群 OpenShift 和 Kubernetes 基础架构的 GitOps 工作流。使用 Red Hat OpenShift GitOps,管理员可以在集群和开发生命周期中一致地配置和部署基于 Kubernetes 的基础架构和应用程序。Red Hat OpenShift GitOps 基于开源项目 Argo CD,为上游提供的内容提供类似的功能,并提供额外的自动化、集成到 Red Hat OpenShift Container Platform 以及 Red Hat Enterprise 支持、质量保证和专注于企业安全性的好处。
因为 Red Hat OpenShift GitOps 的发行节奏与 OpenShift Container Platform 不同,所以 Red Hat OpenShift GitOps 文档现在作为每个次版本的单独文档集提供。
Red Hat OpenShift GitOps 文档包括在 https://docs.openshift.com/gitops/。
特定版本的文档使用版本选择器下拉列表,或者直接将版本添加到 URL,例如 https://docs.openshift.com/gitops/1.8。
另外,Red Hat OpenShift GitOps 文档也包括在 Red Hat Portal https://access.redhat.com/documentation/zh-cn/red_hat_openshift_gitops/ 中。
如需有关 Red Hat OpenShift GitOps 生命周期和支持的平台的更多信息,请参阅平台生命周期政策。
当应用程序部署到不同环境中的不同集群时,Red Hat OpenShift GitOps 可确保应用程序的一致性,如开发、临时和生产环境。Red Hat OpenShift GitOps 整理与配置仓库相关的部署过程,并将其作为核心元素。它总会保持至少有两个软件仓库:
- 源代码的应用程序仓库
- 定义应用程序所需状态的环境配置仓库
这些软件仓库包含您指定环境中所需的基础架构声明信息。它们还包含可让您的环境与上述状态匹配的自动过程。
Red Hat OpenShift GitOps 使用 Argo CD 来维护集群资源。Argo CD 是一个开源声明工具,用于应用程序的持续部署(CD)。Red Hat OpenShift GitOps 将 Argo CD 实现作为一个控制器,以便持续监控 Git 存储库中定义的应用程序定义和配置。然后,Argo CD 将这些配置的指定状态与集群中的实时状态进行比较。
Argo CD 报告与指定状态不同的配置。报告允许管理员自动或者手动将配置重新同步到定义的状态。因此,ArgoCD 可让您提供全局自定义资源,如用于配置 OpenShift Container Platform 集群的资源。
2.1. 主要特性
Red Hat OpenShift GitOps 可帮助您自动执行以下任务:
- 确保集群具有类似的配置、监控和存储状态
- 对多个 OpenShift Container Platform 集群应用或恢复配置更改
- 将模板配置与不同环境关联
- 在集群间(从调试到生产阶段)推广应用程序。