Внешний балансировщик нагрузки MetalLB на docker-desktop community edition на одноузловой инфраструктуре Kubernetes с Windows 10

Я пытаюсь настроить внешний балансировщик нагрузки metalLB с намерением получить доступ к модулю nginx извне кластера, используя общедоступный IP-адрес. Я выполнил все шаги, описанные здесь. Мне удалось получить внешний IP-адрес для типа service/nginx:LoadBalancer, но когда я пытаюсь просмотреть IP-адрес, я ничего не получаю, и он говорит: "Этот сайт недоступен".

Интересно, разрешено ли вообще в среде win10 docker-desktop обращаться к ресурсам кластера k8s извне с общедоступного IP-адреса?

1 ответ

Kuberntes, предоставляемый Docker Desktop, работает на виртуальной машине, и весь сетевой трафик преобразуется в виртуальную машину с помощью NAT. Даже если у вас все правильно настроено в вашей сети для использования уровня 2 и DHCP, ваш рабочий или домашний маршрутизатор даже не будет знать, как связаться с Docker, который делает любые службы доступными только на локальном хосте.

Чтобы заставить его работать, вы можете попробовать использовать minikube с драйвером VirtualBox и настроить сетевой интерфейс на мост, чтобы виртуальная машина minikube была видна вашему маршрутизатору как автономный экземпляр, и, следовательно, запросы arp могли достигать minikube.

Другие вопросы по тегам