![OpenShift 跨集群:在数据中心之间均匀分布副本](https://linux22.com/image/736183/OpenShift%20%E8%B7%A8%E9%9B%86%E7%BE%A4%EF%BC%9A%E5%9C%A8%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83%E4%B9%8B%E9%97%B4%E5%9D%87%E5%8C%80%E5%88%86%E5%B8%83%E5%89%AF%E6%9C%AC.png)
我有一个 OpenShift 集群,它横跨两个物理上分离的数据中心,以实现地理冗余。节点根据其位置进行标记。
现在,我正在寻找一种配置调度程序的方法,以便如果一个 pod 使用一个副本(位于两个数据中心之一)运行,并且启动了另一个副本,则另一个副本会在其他数据中心启动?因此,如果部署以偶数个副本运行,副本是否会均匀分布在两个数据中心之间?
我搜索了 pod/node 亲和性文档以及调度程序配置,但没有找到我需要的任何内容。也许我只是谷歌搜索错了?
任何帮助是极大的赞赏。
答案1
例如,如果你给节点指定了一个标签地点,使用以下命令检查标签
oc get nodes --show-labels
ServiceAntiAffinity 采用标签,并根据标签值确保属于同一服务的 Pod 在节点组中良好分布
/etc/origin/master/scheduler.json
您可以在文件中添加以下内容
{
"argument": {
"serviceAntiAffinity": {
"label": "location"
}
},
"name": "Location",
"weight": 2
}