Kubernetes 外部服务故障转移方法

时间:2021-02-22 12:57:24

标签: kubernetes failover

我有两个外部 AcriveMQ url,比如说 mqA 和 mqB,它们被 pod my-pod 使用。 mqA 和 mqB 都不在 kubernetes 集群中,也不由我管理。 mqA 是正常使用的,因此当它不可用时(0.1% 的概率),则可以使用 mqB。

当前,如果 mqA 损坏,则 my-pod 崩溃并尝试重新启动。

对我来说,重新启动 Pod 或一些合理的停机时间进行切换是可以的。

所以基本上我想要一种外部服务的故障转移。

在 Kubernetes 中是否有一种通用的方法?像 externalname 就可以了。因此,当 mqA 不可 ping 通时,它会将 externalName 切换为 mqB。

1 个答案:

答案 0 :(得分:0)

不幸的是,Kubernetes 没有运行主动-被动工作负载的原生概念。在这个阶段,您最好在客户端进行故障转移,或者使用一些自定义操作员逻辑和代理来为您进行故障转移。

这里有一些非常好的信息,您可能会发现 active/standby proposal 对 kubernetes 开发人员感兴趣,并提供了一些可能的临时解决方案: