Пул внешних IP-адресов — это набор IP-адресов, которые MetalLB использует для получения внешних IP-адресов доступа для внутренних маршрутов типа LoadBalancer.
Если необходимо использовать пул внешних IP-адресов типа BGP, обратитесь к администратору для включения соответствующих функций.
IP-ресурсы для внешнего адреса должны соответствовать следующим условиям:
Пул внешних адресов должен быть связан на уровне канального уровня (L2) с доступными узлами.
IP-адреса должны быть пригодны для использования платформой и не могут включать IP-адреса, уже используемые физической сетью, например, IP-адреса шлюзов.
Не должно быть пересечений с сетями, используемыми кластером, включая Cluster CIDR, Service CIDR, подсети и т. п.
В среде с двойным стеком необходимо, чтобы в одном пуле внешних адресов одновременно присутствовали как IPv4, так и IPv6 адреса, и их количество было больше 0. В противном случае внутренние маршруты типа LoadBalancer с двойным стеком не смогут получить внешние адреса доступа.
В среде IPv6 DNS узлов должен поддерживать IPv6, иначе плагин MetalLB не сможет быть успешно развернут.
Использование пула внешних адресов зависит от плагина MetalLB.
Перейдите в Administrator.
В левой навигационной панели выберите Marketplace > Cluster Plugin.
Найдите MetalLB, нажмите на MetalLB справа от ⋮ > Deploy.
Дождитесь, пока статус развертывания не изменится на Deployment Successful, чтобы завершить развертывание.
Режим BGP:
Q: Что такое L2Advertisement
?
A:
L2Advertisement
— это Custom Resource (CRD), предоставляемый MetalLB для управления тем, какие адреса из пула IP-адресов должны транслироваться через ARP (IPv4) или NDP (IPv6) в режиме канального уровня (Layer 2).Q: Какова цель L2Advertisement
?
A:
Указать, какие IP-адреса из IPAddressPool должны транслироваться на уровне L2 (ARP/NDP объявления);
Контролировать поведение трансляции, чтобы предотвратить конфликты IP или трансляцию между сегментами;
Ограничивать область трансляции в средах с несколькими сетевыми интерфейсами и сетями.
Проще говоря, это говорит MetalLB, какие IP-адреса можно транслировать и кому (например, каким узлам).
Без определения L2Advertisement
в режиме Layer2 MetalLB не будет транслировать никакие адреса.
Q: Что такое BGPAdvertisement
в MetalLB?
A:
BGPAdvertisement
— это Custom Resource Definition (CRD) Kubernetes, используемый в MetalLB, реализации балансировщика нагрузки для bare-metal Kubernetes кластеров. Он управляет тем, как диапазоны IP-адресов (определённые в IPAddressPool
) анонсируются во внешние сети через BGP (Border Gateway Protocol).
Q: Почему BGPAdvertisement
важен?
A:
В режиме BGP MetalLB контроллер устанавливает пиринг с внешними маршрутизаторами через BGP и анонсирует IP-адреса, назначенные объектам Kubernetes Service
. Ресурс BGPAdvertisement
позволяет:
Управлять тем, какие пулы адресов анонсируются
Настраивать параметры анонса маршрутов, такие как:
Агрегация маршрутов
BGP сообщества
Локальные предпочтения (приоритет BGP)
Без определения BGPAdvertisement
MetalLB не будет анонсировать никакие адреса, даже если настроены BGP пиры.
Перейдите в Administrator.
В левой навигационной панели выберите Network Management > External IP Address Pool.
Нажмите Create External IP Address Pool.
Следуйте инструкциям для настройки параметров.
Параметр | Описание |
---|---|
Type |
|
IP Resources | Поддерживается ввод в форматах CIDR и диапазона IP. Нажмите Add для добавления нескольких записей, примеры: CIDR: 192.168.1.1/24 .Диапазон IP: 192.168.2.1 ~ 192.168.2.255 . |
Available Nodes | В режиме L2 доступные узлы — это те, которые несут весь трафик VIP; в режиме BGP — узлы, которые несут VIP, устанавливают BGP-соединения с пирами и анонсируют маршруты внешне.
|
BGP Peers | Выбор BGP пиров; подробности настройки см. в разделе BGP Peers. |
Нажмите Create.
Перейдите в Administrator.
В левой навигационной панели выберите Network Management > External IP Address Pool.
Нажмите View Alarm Policy в правом верхнем углу страницы, чтобы просмотреть общую политику оповещений для MetalLB.