Доступно только в Enterprise Edition.

Модуль по умолчанию выключен. Для включения добавьте в ConfigMap deckhouse:

data:
  networkGatewayEnabled: "true"

Параметры

  • disableDHCPбулевый

    Отключает DHCP-сервер.

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

  • dnsобъект

    Настройки, которые будут переданы клиентам через DHCP.

    • searchмассив строк

      Список search-доменов.

      Пример:

      search:
      - office.example.com
      - srv.example.com
      
    • serversмассив строк

      Список DNS-серверов.

      Пример:

      servers:
      - 4.2.2.2
      - 8.8.8.8
      
  • nodeSelectorобъект

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

    Cелектор, который идентифицирует узлы, на которых будут настроены правила iptables и на которых будет работать DHCP-сервер.

    Структура, аналогичная spec.nodeSelector Kubernetes Pod. Pod’ы инстанса унаследуют это поле как есть.

    Пример:

    nodeSelector:
      type: network-gateway
    
  • publicAddressстрока

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

    Адрес, на который будет заменен src-адрес исходящих из локальной сети пакетов.

    Шаблон: ^([0-9]{1,3}\.){3}[0-9]{1,3}$

    Пример:

    publicAddress: 10.220.203.240
    
  • storageClassстрока

    Имя storageClass’а, который использовать для хранения DHCP lease.

    Если не указано — используется StorageClass существующей PVC, а если PVC пока нет — используется или global.storageClass, или global.discovery.defaultStorageClass, а если и их нет — данные сохраняются в emptyDir.

    Dnsmasq, на котором основан наш DHCP-сервер имеет свои механизмы защиты от дублирования IP-адресов в случае утери базы с lease-ами, но лучше её не терять.

  • subnetстрока

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

    Адрес локальной подсети, которую должен обслуживать шлюз.

    На основе этого адреса будут сформированы DHCP-опции для выдачи клиентам:

    • Пул адресов — номера с 50 по последний.
    • Роутер — первый адрес в подсети.

    Шаблон: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))$

    Пример:

    subnet: 192.168.42.0/24
    
  • tolerationsмассив объектов

    Toleration’ы для Pod’ов c DHCP и с настройщиками iptables.

    Стандартный список toleration. Pod’ы инстанса унаследуют это поле как есть.

    • effectстрока
    • keyстрока
    • operatorстрока
    • tolerationSecondsцелочисленный
    • valueстрока