Модуль не включен по умолчанию в каком-либо наборе модулей.

Как явно включить или отключить модуль…

Чтобы явно включить или выключить модуль l2-load-balancer, установите spec.enabled в true или false в ModuleConfig/l2-load-balancer (создайте, при необходимости), или воспользуйтесь командой deckhouse-controller module в поде d8-system/deckhouse.

Пример включения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: l2-load-balancer
    spec:
      enabled: true
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module enable l2-load-balancer
    

Пример выключения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: l2-load-balancer
    spec:
      enabled: false
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module disable l2-load-balancer
    

Чтобы настроить модуль, используйте custom resource ModuleConfig с именем l2-load-balancer (подробнее о настройке Deckhouse…).

Пример ресурса ModuleConfig/l2-load-balancer для настройки модуля:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: l2-load-balancer
spec:
  version: 1
  enabled: true
  settings: # <-- Параметры модуля из раздела "Параметры" ниже.

Параметры

Версия схемы: 1

Пример:

addressPools:
- name: my-l2-loadbalancer-pool
  addresses:
  - 192.168.100.1-192.168.100.10
  - 192.168.101.0/24
  • addressPools
    массив объектов

    Обязательный параметр

    Список диапазонов IP, которые будут выдаваться сервисам.

    Формат — массив, как у оригинального MetalLB.

    По умолчанию: []

    • addressPools.addresses
      массив строк

      Список диапазонов, где диапазон — это либо подсеть с маской, либо диапазон значений с “-“ в качестве разделителя.

      Важно! Диапазоны адресов должны быть доступны для использования на фронтенд-узлах и не должны пересекаться с адресами имеющихся узлов кластера.

    • addressPools.avoid-buggy-ips
      булевый

      Запрещает использование адресов из пула, заканчивающихся на .0 и .255.

      По умолчанию: false

    • addressPools.name
      строка

      Имя пула, которое можно уточнять с помощью аннотации к сервису metallb.universe.tf/address-pool: <name>. Имя должно соответствовать RFC 1123: разделенные точками части в нижнем регистре, состоящие из букв и ‘-‘. Каждое имя должно начинаться и заканчиваться буквой алфавита.

      Шаблон: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$