如何为 kube-vip HA 集群设置选择有效的 VIP?

如何为 kube-vip HA 集群设置选择有效的 VIP?

我正在关注这个参考https://kube-vip.io/control-plane/用于 HA 集群设置。为了测试目的,我想设置 3 个主服务器 - 1 个工作服务器集群。

文档使用 192.168.0.75 作为 VIP,但没有提到他们如何获得这个 IP

由于我正在为 Kubernetes 使用 digitalocean droplets,我尝试使用 VPC IP 范围中的 IP,假设它是 10.xyz,kubeadm init对于所有 droplet 来说都是相同的。但是,我无法kubeadm join使用此 IP 执行操作(说。http://10.xyz:6443没有到主机的路由)

如何获取有效的VIP价值?

答案1

kube-vip 本身并不真正关心您使用什么 IP 地址,只要它是“免费的”并且与您选择的接口位于同一子网中。

假设主节点上的 eth0 如下所示:

// master node 1
eth0 inet addr:192.168.1.11
     bcast:192.168.1.255
     mask:255.255.255.0

// master node 2
eth0 inet addr:192.168.1.12
     bcast:192.168.1.255
     mask:255.255.255.0

// master node 3
eth0 inet addr:192.168.1.13
     bcast:192.168.1.255
     mask:255.255.255.0

您现在可以使用192.168.1.XVIP。192.168.1.67可以工作,或者也可以192.168.1.182192.168.1.10假设地址是“免费的”)。这些 IP 地址中没有一个比其他 IP 地址“更有效”。

我不确定所有这些在 digitalocean 上是如何工作的(因为我从未使用过它),但您可能必须分配一个所有节点都可以使用的额外 IP 地址。例如,在 linode(类似平台)上,有一个名为“IP 共享”的选项,它允许您在多个节点之间共享一个 IP。

但除此之外,你可能甚至不需要 kube-vip,因为digitalocean 提供托管 TCP 负载均衡器这可能就是你要找的。我甚至发现有关如何使用 digitalocean 的托管负载均衡器设置 HA 控制平面的教程

答案2

我同意 Eleasar 的回答。我可以补充一点,你之所以收到,http://10.x.y.z:6443 no route to host是因为你必须kubeadm join使用主节点 IP不是 Kube-VIP IP

相关内容