Доступно только в Enterprise Edition.
Модуль по умолчанию выключен. Для включения добавьте в ConfigMap deckhouse
:
data:
metallbEnabled: "true"
Параметры
Для настройки модуля предусмотрены следующие параметры в ConfigMap deckhouse
:
speaker
— настройки компонентаspeaker
, который реализует протокол публикации (bgp
илиlayer2
(LVS)) и направляет на свой узел прикладной трафик сервисов.nodeSelector
— селектор нод, на которых будет работать DaemonSet speaker.- Обязательный параметр.
tolerations
— противоядие противtaints
на нодах.- Опциональный параметр.
bgpPeers
— список внешних BGP-роутеров, которые будут работать с этим модулем.- Формат — массив как у оригинального MetalLB. Основные параметры:
peer-address
— IP внешнего BGP-роутера.peer-asn
— номер автономной системы на внешнем BGP-роутере.my-asn
— номер автономной системы на вашем кластере.source-address
- адрес для исходящих соединений.hold-time
— таймаут, после которого партнёрский BGP-пир считается утерянным. Это значение делится на три и получается интервал для keep-alive.- Рекомендуемое значение —
3s
(keep-alive раз в секунду), протокол BGP не поддерживает значения меньше. - По умолчанию —
90s
(keep-alive раз в 30 секунд).
- Рекомендуемое значение —
node-selector
— дополнительный псевдо-селектор, который реализуется приложением speaker-а. Говорит о том, с каких нод стоит устанавливать связь с внешними BGP-роутерами. Не путать сspeaker.nodeSelector
иnodeSelector
.- Опциональный параметр.
- Формат —
matchLabels
илиmatchExpressions
.
- Если используется только протокол публикации сервисов
layer2
, то параметр — необязательный.
- Формат — массив как у оригинального MetalLB. Основные параметры:
addressPools
— список диапазонов IP, которые будут выдаваться сервисам.- Формат — массив как у оригинального MetalLB. Основные параметры:
name
— имя пула, которое можно уточнять с помощью аннотации к сервисуmetallb.universe.tf/address-pool: <name>
.protocol
— технология публикации сервисов, которую должен реализовать speaker. Варианты:bgp
.layer2
— использовать L2 LVS.
addresses
— список диапазонов, где диапазон — это либо подсеть с маской, либо диапазон через “-“.
- Формат — массив как у оригинального MetalLB. Основные параметры:
nodeSelector
— селектор для основного контроллера. Как в Kubernetes вspec.nodeSelector
у pod’ов.- Если ничего не указано или указано
false
— будет использоваться автоматика.
- Если ничего не указано или указано
tolerations
— толерейшны для основного контроллера. Как в Kubernetes вspec.tolerations
у pod’ов.- Если ничего не указано или указано
false
— будет использоваться автоматика.
- Если ничего не указано или указано