Пул внешних 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.
Перейдите в Platform Management.
В левой навигационной панели выберите Marketplace > Cluster Plugin.
Найдите MetalLB, нажмите на MetalLB справа от ⋮ > Deploy.
Дождитесь, пока статус развертывания не изменится на Deployment Successful, чтобы завершить процесс.
Режим BGP:
Q: Что такое L2Advertisement
?
A:
L2Advertisement
— это Custom Resource (CRD), предоставляемый MetalLB для управления тем, какие IP-адреса из пула IPAddressPool должны транслироваться через 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 пиры.
Перейдите в Platform Management.
В левой навигационной панели выберите 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.
Перейдите в Platform Management.
В левой навигационной панели выберите Network Management > External IP Address Pool.
Нажмите View Alarm Policy в правом верхнем углу страницы, чтобы просмотреть общую политику оповещений для MetalLB.