当Kubernetes工作人员耗尽/停机时,如何自动更新服务"spec.externalIP"



我在VM/VPS上托管一个Kubernetes集群,该集群来自一个随机的云提供商,根本不提供任何Kubernete的东西,这意味着有一个专用的公共IP地址,为了允许流量到达工作节点,我用固定的IP地址列表用spec.externalIPs定义我的服务。

我正在寻找一种方法,在节点自动耗尽/关闭时更新该列表。

我从https://operatorhub.io/但我还没有找到任何可以覆盖我的用例的东西。

其想法是,当节点传递到NotReady的事件被发出时,服务会随着节点的就绪而更新。

有没有运营商可以允许这样做?

经过一段时间的研究,我终于发现这是不可能的,至少在今天,还没有已知的操作员或其他什么可以用IP地址更新字段。

即使是这样,更新DNS记录也会延迟。

我所做的是购买另一个VPS,安装HAproxy,以便将Kubernetes API travic代理到主节点,并将web travic(80和443)代理到Kubernete工作节点。

HAproxy监视节点,并以非常快速的方式自动添加/删除节点。这样,您只需要一个DNS记录,指向负载平衡器(或负载平衡器的VIP,以避免SPOF),HAproxy将完成其余工作!

最新更新