在管理位于地理位置分散的许多站点时,边缘计算带来了复杂的挑战。使用 GitOps 零接触配置 (ZTP) 来配置和管理网络边缘的站点。
如今,服务提供商希望在网络边缘部署其基础设施。这带来了巨大的挑战
如何并行处理许多边缘站点的部署?
当需要在断开连接的环境中部署站点时会发生什么?
如何管理大型集群群的生命周期?
GitOps 零接触配置 (ZTP) 和 *GitOps* 通过允许您使用声明性站点定义和裸机设备配置大规模配置远程边缘站点来应对这些挑战。模板或覆盖配置安装 CNF 工作负载所需的 OpenShift Container Platform 功能。安装和升级的完整生命周期通过 GitOps ZTP 管道处理。
GitOps ZTP 使用 GitOps 进行基础设施部署。使用 GitOps,您可以使用存储在 Git 存储库中的声明性 YAML 文件和其他定义的模式。Red Hat Advanced Cluster Management (RHACM) 使用您的 Git 存储库来驱动基础设施的部署。
GitOps 提供可追溯性、基于角色的访问控制 (RBAC) 和每个站点的理想状态的单一事实来源。可扩展性问题通过 Git 方法和通过 Webhook 的事件驱动操作来解决。
您可以通过创建声明性站点定义和配置自定义资源 (CR),GitOps ZTP 管道将其交付到边缘节点,从而启动 GitOps ZTP 工作流。
下图显示了 GitOps ZTP 在远端边缘框架中的工作原理。
Red Hat Advanced Cluster Management (RHACM) 在中心辐射架构中管理集群,其中单个中心集群管理许多辐射集群。运行 RHACM 的中心集群使用 GitOps 零接触配置 (ZTP) 和安装 RHACM 时部署的辅助服务来配置和部署托管集群。
辅助服务处理在单节点集群、三节点集群或在裸机上运行的标准集群上配置 OpenShift Container Platform。
使用 GitOps ZTP 配置和维护带有 OpenShift Container Platform 的裸机主机的概述如下
运行 RHACM 的中心集群管理一个 OpenShift 镜像注册表,该注册表镜像 OpenShift Container Platform 发行版镜像。RHACM 使用 OpenShift 镜像注册表来配置托管集群。
您可以使用 YAML 格式的清单文件(在 Git 存储库中进行版本控制)来管理裸机主机。
您可以使主机准备好作为托管集群进行配置,并使用 RHACM 和辅助服务来在现场安装裸机主机。
安装和部署集群是一个两阶段过程,包括初始安装阶段和随后的配置和部署阶段。下图说明了此工作流
GitOps 零接触配置 (ZTP) 使用 Git 仓库中的 `SiteConfig` 自定义资源 (CR) 来管理安装 OpenShift Container Platform 集群的过程。`SiteConfig` CR 包含安装所需的特定于集群的参数。它可以选择在安装过程中应用选定的配置 CR,包括用户定义的额外清单。
GitOps ZTP 插件处理 `SiteConfig` CR,以便在 hub 集群上生成一系列 CR。这会触发 Red Hat Advanced Cluster Management (RHACM) 中的 assisted 服务在裸机主机上安装 OpenShift Container Platform。您可以在 hub 集群上的这些 CR 中找到安装状态和错误消息。
您可以使用 GitOps ZTP 手动或批量配置单个集群。
为集群创建一个 `SiteConfig` CR 和相关的安装和配置 CR,并在 hub 集群中应用它们以开始集群配置。这是一种在更大规模部署之前测试 CR 的好方法。
通过在 Git 仓库中定义 `SiteConfig` 和相关的 CR,可以批量安装最多 400 个托管集群。ArgoCD 使用 `SiteConfig` CR 部署站点。RHACM 策略生成器创建清单并将其应用于 hub 集群。这将启动集群配置过程。
GitOps 零接触配置 (ZTP) 使用 Red Hat Advanced Cluster Management (RHACM) 通过基于策略的治理方法来应用配置,从而配置集群。
策略生成器或 `PolicyGen` 是 GitOps Operator 的一个插件,它允许从简洁的模板创建 RHACM 策略。该工具可以将多个 CR 合并到单个策略中,您可以生成多个策略,这些策略应用于集群集群的不同子集。
为了提高可扩展性并降低跨集群集群管理配置的复杂性,请尽可能使用具有尽可能多共同点的配置 CR。
|
下图显示了策略生成器在集群部署的配置阶段如何与 GitOps 和 RHACM 交互。
对于大型集群集群,其配置通常具有高度一致性。
以下推荐的策略结构将配置 CR 组合在一起以实现多个目标
描述通用的配置一次,并应用于整个集群。
最大限度地减少维护和管理的策略数量。
支持集群变体的通用配置的灵活性。
策略类别 | 描述 |
---|---|
通用 |
存在于通用类别的策略将应用于集群中的所有集群。使用通用的 `PolicyGenerator` CR 在所有集群类型中应用通用的安装设置。 |
组 |
存在于组类别的策略将应用于集群中的一组集群。使用组 `PolicyGenerator` CR 来管理单节点、三节点和标准集群安装的特定方面。集群组还可以遵循地理区域、硬件变体等。 |
站点 |
存在于站点类别的策略将应用于特定的集群站点。任何集群都可以维护其自身的特定策略。 |
使用 `PolicyGenTemplate` CR 管理和部署策略到托管集群的功能将在即将发布的 OpenShift Container Platform 版本中被弃用。可以使用 Red Hat Advanced Cluster Management (RHACM) 和 `PolicyGenerator` CR 获得等效和改进的功能。 有关 `PolicyGenerator` 资源的更多信息,请参阅 RHACM 的 策略生成器 文档。 |