Эти возможности доступны только в Enterprise Edition. Их функциональность может существенно измениться. В настоящий момент не рекомендуется для самостоятельного использования.

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

data:
  networkGatewayEnabled: "true"

Параметры

Для настройки модуля предусмотрены следующие параметры в CM deckhouse:

  • nodeSelector — селектор, который идентифицирует ноды, на которых будут настроены iptables-правила и на которых будет работать DHCP-сервер.
    • Формат — стандартный словарь лейблов и их значений. Поды инстанса унаследуют это поле как есть.
    • Обязательный параметр.
  • tolerations — толерейшны для подов c DHCP и с настройщиками iptables.
    • Формат — стандартный список толерейшнов. Поды инстанса унаследуют это поле как есть.
    • Необязательный параметр.
  • subnet — адрес локальной подсети, которую должен обслуживать наш шлюз.
    • Формат — IP/Prefix, пример — 192.168.42.0/24.
    • На основе этого адреса будут сформированы DHCP-опции для выдачи клиентам:
      • Пул адресов — номера с 50 по последний.
      • Роутер — первый адрес в подсети.
    • Обязательный параметр.
  • publicAddress — src исходящих пакетов из локалки будет заменён на этот адрес.
    • Обязательный параметр.
  • disableDHCP - bool, отключить DHCP-сервер
    • По умолчанию DHCP-сервер включен (false).
  • dns — опциональные настройки, которые будет переданы клиентам через DHCP:
    • servers — массив DNS-серверов.
      • Пример — [‘4.2.2.2’, ‘8.8.8.8’].
    • search — массив search-доменов.
      • Пример — [‘office.example.com’, ‘srv.example.com’]
  • storageClass — имя storageClass’а, который использовать для хранения DHCP lease.
    • Если не указано — используется или global.storageClass, или global.discovery.defaultStorageClass, а если и они не указаны — данные сохраняются в emptyDir. Dnsmasq, на котором основан наш DHCP-сервер имеет свои механизмы защиты от дублирования IP-адресов в случае утери базы с lease-ами, но лучше её не терять.