Сам kube-vip на самом деле не заботится о том, какой IP-адрес вы используете, если он «бесплатен» и находится в той же подсети, в которой находится выбранный вами интерфейс.
Предположим, что eth0 на мастер-узлах выглядит так:
// мастер-узел 1
eth0 инет-адрес: 192.168.1.11
передача: 192.168.1.255
маска: 255.255.255.0
// мастер-узел 2
eth0 инет-адрес: 192.168.1.12
передача: 192.168.1.255
маска: 255.255.255.0
// мастер-узел 3
eth0 инет-адрес: 192.168.1.13
передача: 192.168.1.255
маска: 255.255.255.0
Теперь вы можете использовать 192.168.1.Х
как VIP. 192.168.1.67
будет работать и так 192.168.1.182
или же 192.168.1.10
(при условии, что адреса «свободны»). Ни один из этих IP-адресов не является «более действительным», чем другие.
Я не уверен, как все это работает в digitalocean (поскольку я никогда не использовал его), но вам, вероятно, придется назначить дополнительный IP-адрес, который могут использовать все узлы. Например, на linode (похожая платформа) есть опция «Общий IP-адрес», которая позволяет вам использовать один IP-адрес между несколькими узлами.
Но помимо всего прочего, вам, вероятно, даже не нужен kube-vip, так как digitalocean предлагает управляемые балансировщики нагрузки TCP что, вероятно, то, что вы ищете. я даже нашел руководство о том, как настроить плоскость управления высокой доступностью с помощью управляемого балансировщика нагрузки digitalocean.