我有 5 个 VPS,每个 VPS 都有一个公共网络接口,为此我配置了一个 VPN。
- 3 个节点是 Kubernetes 主节点,我将 Kubelet
--node-ip
标志设置为它们的私有 IP 地址。 - 3 个节点中的一个有一个用于 Kubernetes 主节点的 HAProxy 负载均衡器,监听私有 IP,因此所有节点都使用负载均衡器的私有 IP 地址来加入集群。
- 2 个节点是 Kubernetes 工作人员,我没有设置 Kubelet
--node-ip
标志,因此它们的节点 IP 是公共地址。
集群很健康,我已经部署了我的应用程序及其依赖项。
现在我想从 Internet 访问应用程序,所以我部署了一个边缘路由器并创建了一个类型为LoadBalancer
.
该服务创建良好,但从不将工作节点的公共 IP 地址作为EXTERNAL-IP
.
手动分配 IP 地址是可行的,但显然希望它是自动的。
我已经阅读了有关MetalLb 项目的信息,但它似乎不适合我的情况,因为它应该有一系列 IP 地址来分发,而在这里我每个节点都有一个公共 IP 地址,而不是在同一范围内.
那么谁可以配置 Kubernetes,以便我的 LoadBalancer 类型的服务自动获取公共 IP 地址EXTERNAL-IP
?