Доступно с ограничениями в редакциях: SE, SE+, CSE Lite (1.67)
Доступно без ограничений в редакциях: EE, CSE Pro (1.67)
В модуле реализовано 7 алертов.
Модуль не включен по умолчанию в каком-либо наборе модулей.
Конверсии
Модуль настраивается с помощью ресурса ModuleConfig, схема которого содержит номер версии. При применении в кластере старой версии схемы ModuleConfig выполняются автоматические преобразования. Чтобы обновить версию схемы ModuleConfig вручную, необходимо последовательно для каждой версии выполнить следующие действия :
- Обновление из версии 1 в 2:
Описание конверсии отсутствует.
Настройки
Чтобы настроить модуль, используйте ресурс ModuleConfig
с именем metallb
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/metallb
для настройки модуля:
1apiVersion: deckhouse.io/v1alpha1
2kind: ModuleConfig
3metadata:
4 name: metallb
5spec:
6 version: 2
7 enabled: true
8 settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 2
Пример:
1bgpPeers:
2- peer-address: 192.168.1.1
3 peer-asn: 1111
4 my-asn: 2222
5 source-address: 192.168.1.2
6 hold-time: 10s
7 node-selector:
8 matchLabels:
9 node: test
10addressPools:
11- name: my-pool-bgp
12 protocol: bgp
13 addresses:
14 - 192.168.100.1-192.168.100.10
15 - 192.168.101.0/24
16 bgp-advertisements:
17 - aggregation-length: 32
18 localpref: 100
19 communities:
20 - no-advertise
21bgpCommunities:
22 no-advertise: 65535:65282
23speaker:
24 nodeSelector:
25 mylabel: speaker
- массив объектов
Обязательный параметр
Список диапазонов IP, которые будут выдаваться сервисам.
Формат — массив, как у оригинального MetalLB.
По умолчанию:
[]
- массив строк
BGP communities, связанные с анонсом. Каждый элемент — это ключ из параметра bgpCommunities.
Пример:
1communities: 2- no-advertise
- строка
Обязательный параметр
Имя пула. Должно соответствовать RFC 1123: разделенные точками части в нижнем регистре, состоящие из букв и ‘-‘. Каждое имя должно начинаться и заканчиваться буквой алфавита.
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
- массив объектов
Доступно в редакциях: EE, CSE Pro (1.67)
Список внешних BGP-роутеров, которые будут работать с этим модулем.
Формат — массив, как у оригинального MetalLB.
По умолчанию:
[]
- строка или число
Таймаут, после которого партнерский BGP-пир считается утерянным. Это значение делится на 3 и получается интервал для keep-alive.
Рекомендуемое значение —
3s
(keep-alive раз в секунду), протокол BGP не поддерживает меньшие значения. По умолчанию —90s
(keep-alive раз в 30 секунд).Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- объект
Дополнительный псевдоселектор, который реализуется приложением speaker’а. Говорит о том, с каких узлов стоит устанавливать связь с внешними BGP-роутерами. Не путать с
speaker.nodeSelector
иnodeSelector
.Опциональный параметр.
Формат —
matchLabels
илиmatchExpressions
.
- объект
Селектор узлов, на которых будет работать главный контроллер. Структура, аналогичная параметру
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - объект
Настройки для компонента
speaker
, который реализует протокол публикации IP-адресов LoadBalancer’а для внешней инфраструктуры.- объект
Обязательный параметр
Селектор узлов, на которых будет работать DaemonSet speaker. Структура, аналогичная параметру
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика. - массив объектов
Структура для DaemonSet speaker’а, аналогичная параметру
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
, будет использоваться автоматика.
- массив объектов
Структура, аналогичная параметру
spec.tolerations
пода Kubernetes для главного контроллера.Если значение не указано или указано
false
, будет использоваться автоматика.