我有一个跨多个数据中心的集群。我正在寻找一种在这些数据中心上均匀部署应用程序的方法,以便在其中一个数据中心死亡时具有某种高可用性。
我了解到,根据数据中心,我可以用failure-domain.beta.kubernetes.io/zone=
标记节点,并且调度程序将在SelectorSpreadPriority
的帮助下将pod均匀地分布在各个区域中。
但是,我不确定故障后是否可以恢复。如果其中一个数据中心死亡,副本管理器将旋转另外几个Pod,以补偿放置在崩溃的数据中心中的无法访问的Pod。当然,由于调度程序会尽力而为,因此将这些新的Pod放置在其余的数据中心中,并且由于另一个崩溃,因此当前仅看到一个故障域。
因此,此副本集中的所有Pod都在同一数据中心中运行。当崩溃的数据中心再次联机时,我如何重新分配正在运行的Pod,以便将尚存的数据中心中的某些Pod移回到已恢复的数据中心以再次获得高可用性?还是自动完成?