第 19 章 处于边缘网络的集群
19.1. 网络边缘的挑战
在地理位置管理多个站点时,边缘计算带来了复杂的挑战。使用 GitOps Zero Touch Provisioning (ZTP) 在网络边缘置备和管理站点。
19.1.1. 克服网络边缘的挑战
今天,服务提供商希望在网络边缘部署其基础架构。这带来了显著的挑战:
- 您怎样处理并行部署多个边缘站点的部署?
- 当您需要在断开连接的环境中部署站点时,会出现什么情况?
- 如何管理集群的生命周期?
GitOps Zero Touch Provisioning (ZTP) 和 GitOps 通过允许您为裸机设备使用声明站点定义和配置大规模置备远程边缘站点。模板或覆盖配置安装 CNF 工作负载所需的 OpenShift Container Platform 功能。安装和升级的完整生命周期通过 GitOps ZTP 管道处理。
GitOps ZTP 使用 GitOps 进行基础架构部署。使用 GitOps,您可以使用声明 YAML 文件和其他存储在 Git 存储库中的其他定义模式。Red Hat Advanced Cluster Management (RHACM)使用 Git 存储库来驱动基础架构部署。
GitOps 提供可追溯性、基于角色的访问控制 (RBAC),以及每个站点的所需状态的单一数据源。Git 方法可通过 webhook 解决可扩展性问题,以及事件驱动的操作。
您可以通过创建 GitOps ZTP 管道提供给边缘节点的声明站点定义和配置自定义资源 (CR) 来启动 GitOps ZTP 工作流。
下图显示了 GitOps ZTP 如何在最边缘框架内工作。
19.1.2. 使用 GitOps ZTP 在网络边缘置备集群
Red Hat Advanced Cluster Management (RHACM)在 hub 和 spoke 架构中管理集群,其中单个 hub 集群管理多个 spoke 集群。运行 RHACM 的 hub 集群使用 GitOps Zero Touch Provisioning (ZTP) 和安装 RHACM 时部署的辅助服务来置备和部署受管集群。
协助的服务处理在单一节点集群、三节点集群或裸机上运行的标准集群上 OpenShift Container Platform 置备。
使用 GitOps ZTP 的高级别概述来置备和维护使用 OpenShift Container Platform 的裸机主机,如下所示:
- 运行 RHACM 的 hub 集群管理一个 OpenShift 镜像 registry,用于镜像 OpenShift Container Platform 发行镜像。RHACM 使用 OpenShift 镜像 registry 来置备受管集群。
- 您以 YAML 格式清单文件管理裸机主机,并在 Git 存储库中版本。
- 您可以使主机准备好作为受管集群置备,并使用 RHACM 和辅助服务在站点上安装裸机主机。
安装和部署集群分为两个阶段,涉及初始安装阶段和后续配置阶段。下图演示了这个工作流:
19.1.3. 使用 SiteConfig 资源和 RHACM 安装受管集群
GitOps Zero Touch Provisioning (ZTP) 使用 Git 存储库中的 SiteConfig
自定义资源 (CR) 来管理安装 OpenShift Container Platform 集群的进程。SiteConfig
CR 包含安装所需的特定于集群的参数。它有在安装过程中应用所选配置 CR 的选项,包括用户定义的额外清单。
GitOps ZTP 插件处理 SiteConfig
CR,以便在 hub 集群上生成 CR 集合。这会在 Red Hat Advanced Cluster Management (RHACM) 中触发辅助服务,以便在裸机主机上安装 OpenShift Container Platform。您可以在 hub 集群上的这些 CR 中找到安装状态和错误消息。
您可以手动置备单个集群,或使用 GitOps ZTP 批量置备单个集群:
- 置备单个集群
-
为集群创建单一
SiteConfig
CR 及相关的安装和配置 CR,并在 hub 集群中应用它们以开始集群置备。这是在大规模部署前测试 CR 的好方法。 - 置备多个集群
-
通过在 Git 仓库中定义
SiteConfig
和相关 CR,以最多 400 的批处理中安装受管集群。ArgoCD 使用SiteConfig
CR 来部署站点。RHACM 策略生成器创建清单,并将其应用到 hub 集群。这将启动集群置备过程。
19.1.4. 使用策略和 PolicyGenTemplate 资源配置受管集群
GitOps Zero Touch Provisioning (ZTP) 使用 Red Hat Advanced Cluster Management (RHACM) 使用基于策略的监管方法应用配置配置。
策略生成器或 PolicyGen
是 GitOps 操作器的一个插件,它允许从简洁的模板创建 RHACM 策略。该工具可将多个 CR 合并为一个策略,您可以生成多个策略应用到团队中集群的不同子集的策略。
为了扩展并降低跨集群管理配置的复杂性,请尽可能使用配置 CR。
- 在可能的情况下,使用机范围的通用策略应用配置 CR。
- 下一个首选项是创建集群的逻辑分组,以在组策略下尽可能管理剩余的配置。
- 当配置对单个站点是唯一的时,请使用 hub 集群上的 RHACM 模板将特定于站点的数据注入通用或组策略。或者,为站点应用单个站点策略。
下图显示了在集群部署配置阶段策略生成器如何与 GitOps 和 RHACM 交互。
对于大型集群群,在配置这些集群时通常具有高级别的一致性。
以下推荐的策略结构组合了配置 CR,以满足几个目标:
- 描述一次通用配置,并应用到所有系统。
- 最小化维护和管理策略的数量。
- 支持集群变体的通用配置的灵活性。
策略类别 | 描述 |
---|---|
Common |
一个存在于 common 类别中的策略被应用到该团队中的所有集群。使用通用 |
组 |
组类别中存在的策略应用到一组集群。使用组 |
Sites | 站点类别中存在的策略应用到特定的集群站点。任何集群都可以维护自己的特定策略。 |
其他资源
-
有关从
ztp-site-generate
容器镜像中提取参考SiteConfig
和PolicyGenTemplate
CR 的更多信息,请参阅准备 ZTP Git 存储库。