当节点在Kubernetes上发生故障时如何运行脚本?

时间:2018-10-23 06:48:34

标签: kubernetes failover

我有一个问题,关于尽可能地在线保留Kubernetes集群。通常,群集位于某种类型的云负载均衡器之后,该负载均衡器会进行运行状况检查并将流量定向到可用节点。

现在,我的托管服务提供商不提供托管负载均衡器。相反,它们具有可配置的所谓“故障转移” IP,可以通过在命令行中运行命令将其分离并重新附加到另一台服务器。从传统意义上讲,它不是真正的故障转移IP。更像是可移动IP。

作为Kubernetes的初学者,我不确定该怎么做。

基本上,我需要运行一个脚本来检查群集是否仍在IP上公开联机。当故障发生时,其中一个节点应运行脚本以将故障转移IP分离并重新附加到其自身或其他节点之一。

非常复杂:故障转移IP的移动大约需要40-60秒才能生效,因此我们不应过于频繁地运行脚本。

这也意味着只有1个节点连接到公用IP,并且所有到群集的流量都将以这种方式进入。没有负载均衡器在在线节点之间分配流量。 Kubernetes是否会自行将请求发送到内部的其他节点?我想是吗?

集群由3个相同的服务器组成,其中1个主服务器和2个其他工作服务器。我会使用Ingress在群集中设置负载平衡。

目标是在使用我们的托管公司提供的有限选项的同时,尽可能多地在k8s上运行网站。托管公司仅提供专用的裸机和此可移动IP。他们没有像AWS或DigitalOcean这样的托管负载均衡器,因此我需要为此找到解决方案。该可移动IP看起来像一个答案,但是,如果您知道更好的方法,那么可以肯定。

所有3台计算机都有一个公用IP和一个专用IP。 可以将1个额外的公共IP移到3个节点中的1个(使用这个我想实现故障转移,除非您知道更好的方法?)。

就我个人而言,我认为我不需要多主机集群。据我了解,主机可以在短时间内关闭,并且在这些时间段内群集更容易受到攻击,但这是可以的,只要我们能够及时修复主机即可。唯一的是,我们需要将该IP转移到一个在线节点上,我不确定如何触发它。

谢谢

0 个答案:

没有答案