Рейтинг:0

MetalLB на хосте с несколькими сетевыми картами

флаг in

Мне нужна помощь с некоторыми более глубокими сетевыми вещами. Надеюсь, кто-то может мне помочь или, по крайней мере, подтолкнуть меня в правильном направлении.

На данный момент у меня есть установка кластера kubernetes с двумя узлами (VPS) с microk8s. Тестирование с развертыванием веб-сайтов отлично работает, маршрутизация основана на входе :-)

Но теперь я хочу развернуть другие сервисы, доступные через порты. Я не хочу использовать NodePort, так как используемые порты всегда будут выше 30000. Вместо этого я хочу использовать собственные порты, может быть, 21 для FTP-сервера или что-то в этом роде.

Более глубокое чтение привело меня к расширению metalLB (LoadBalancer для «голого железа» K8S).Но, к сожалению, metalLb хочет IP спектр поэтому я не могу использовать разные общедоступные IP-адреса. Обе мои машины имеют очень разные общедоступные IP-адреса на eth0, доступные из Интернета.

В качестве решения я установил вторую сетевую карту на обе машины (eth1) с локальной сетью (192.168.1.10-192.168.1.11). Теперь у меня есть ряд IP-адресов, которые я могу предоставить для конфигурации metalLB. На обоих хостах я могу пропинговать другую машину по ее локальному адресу, поэтому локальная сеть работает.

Но развертывание (например, FTP) открыло порт на адресе локальной сети, возможно, 192.168.1.11:21. Это кажется правильным, поскольку я предоставляю эти LAN-IP для metalLB.

Теперь я хочу получить доступ к этой службе через общедоступный IP-адрес. На каждом хосте общедоступные IP-адреса (назовем их 5.5.5.5 и 6.6.6.6 чтобы было понятно, что они не местные) являются шлюзами по умолчанию, поэтому НЕТ шлюза по умолчанию для IP-адресов локальной сети (192.168.1.х)

Я предполагаю, что мне нужно немного DNAT / SNAT для маршрутизации трафика, поступающего на общедоступный IP-адрес хоста на второй сетевой адаптер (eth1), где служба прослушивает.

Наконец я немного поиграл с IPTABLES и попытался натировать трафик между интерфейсами, но без везения.

Я использую последнюю версию Ubuntu на обоих хостах, порт 21 открыт в брандмауэре на обоих хостах... Но, наконец, я хочу использовать несколько сервисов с разными портами. TCP и UDP, а также.

Возможно ли это решение вообще? Спасибо за любые идеи!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.