У меня есть 5 VPS с публичным сетевым интерфейсом для каждого, для которых я настроил VPN.
- 3 узла являются мастерами Kubernetes, для которых я установил флаг Kubelet
--node-ip
в качестве их частного IP-адреса. - На одном из трех узлов есть балансировщик нагрузки HAProxy для мастеров Kubernetes, прослушивающий частный IP-адрес, поэтому все узлы использовали частный IP-адрес балансировщика нагрузки для присоединения к кластеру.
- 2 узла являются рабочими узлами Kubernetes, где я не устанавливал флаг Kubelet
--node-ip
, чтобы их IP-адрес узла был публичным адресом.
Кластер исправен, и я развернул свое приложение и его зависимости.
Теперь я хочу получить доступ к приложению из Интернета, поэтому я развернул пограничный маршрутизатор и создал службу Kubernetes с типом LoadBalancer
.
Служба хорошо создана, но никогда не принимает общедоступные IP-адреса рабочих узлов как EXTERNAL-IP
.
Назначение IP-адресов вручную работает, но, очевидно, нужно, чтобы это было автоматически.
Я читал о проекте MetalLb, но, похоже, он не подходит для моего случая, как предполагалось. иметь диапазон IP-адресов для распределения, а здесь у меня есть один общедоступный IP-адрес на узел, а не в том же диапазоне.
Итак, кто может настроить Kubernetes, чтобы моя служба типа LoadBalancer автоматически получала общедоступные IP-адреса как EXTERNAL-IP
?