6.4. 创建将 pod 分散到所有区中的 Topology CR
创建 Topology 自定义资源(CR),将 control plane 服务 pod 分散到区。以下流程创建示例 Topology CR。有关如何控制 pod 放置的详情,请参考 RHOCP 节点指南中的控制节点上的 pod 放置(调度)。
流程
在工作站上创建一个文件,它定义了一个
TopologyCR,将 control plane 服务 pod 分散到区,如spread_pods.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定在不满足分布式约束时如何处理 pod:
-
DoNotSchedule:构建调度程序而不是调度 pod。这是默认的行为。为确保部署具有高可用性(HA),请将 HA 服务rabbitmq和galera设置为DoNotSchedule。 -
ScheduleAnyway:构建调度程序以在任何位置调度 pod,但为拓扑赋予更高的优先级,以最小化 skew。如果将 HA 服务设置为ScheduleAnyway,则当无法满足分布式约束时,该 pod 会被放置在不同的区域中。然后,在区正常工作后,您必须手动将 pod 移到正确的区。有关如何手动移动 pod 的更多信息,请参阅 RHOCP 节点中的 控制 pod 放置到节点上。
-
- 2
- 指定用于对关联性规则应用到的 pod 进行分组的标签键。使用此字段确保关联性规则仅在调度时应用到来自同一
statefulset或deployment资源的 pod。matchLabelKeys字段可让资源使用新 pod 更新,而分散约束规则仅应用到新的 pod 集合。
如果每个区中有多个主机节点,您可以配置主机反关联性,将服务 pod 分散到同一区的主机中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
TopologyCR:oc create -f spread_pods.yaml
$ oc create -f spread_pods.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤