Openshift - 在数据中心之间分发复制品

时间:2017-11-30 14:50:42

标签: docker kubernetes openshift

我在一个客户端工作,他们有两个数据中心。我们正在建立一个在两个数据中心都有节点的Openshift集群。

为了实现高可用性,我们希望应用程序至少运行2个pod,每个pod必须在不同的数据中心运行。

在Openshift中如何做得最好?

是否需要创建两个部署配置,其中每个配置都针对不同的数据中心节点?

或者是否可以只有一个部署配置,并且Openshift始终保证相同部署配置的pod在两个不同数据中心的两个不同节点中启动?

感谢。

2 个答案:

答案 0 :(得分:0)

默认情况下,Kubernetes会尽最大努力在节点之间安排Pod,如果它们适合并且没有规则。

如果您要使用单独的部署配置,则可以通过标记特定节点并在for each中设置nodeSelector值来安排应用程序。

但是,不应要求您执行此操作,并且可以根据需要使用anti-affinity rules来安排Pod。您仍然需要标记节点。您可以指定在同一服务后面运行的多个Pod永远不应位于同一位置。

附加K8文档的链接,该文档演示了我为Zookeeper状态集所描述的内容。见here

答案 1 :(得分:0)

我可以在某种程度上指导您,因为我以您正在寻找的类似方式部署应用程序。

  

高可用性

对于HA,openshift将确保在任何给定的运行(根据 RC - 复制控制器 配置)的最小数量的pod时间。 RC将持续监控吊舱并在发生任何故障时重新部署吊舱。在不同数据中心运行应用程序的原因是跨区域使用HA。

  

部署配置

在数据中心运行的每个pod都将具有与之关联的相应部署配置。您可以查看项目中关联的所有部署配置。

不同数据中心的DC配置可能类似,除非环境变量和PVC 持久卷声明,即pod的外部存储)有特定更改。

关于流量路由,负载均衡器将根据配置路由流量。

希望这有助于概述您的查询。