Модуль не включен по умолчанию в каком-либо наборе модулей.
Чтобы настроить модуль, используйте custom resource ModuleConfig
с именем network-gateway
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/network-gateway
для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: network-gateway
spec:
version: 1
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 1
- объект
Обязательный параметр
Cелектор, который идентифицирует узлы, на которых будут настроены правила iptables и на которых будет работать DHCP-сервер.
Структура, аналогичная
spec.nodeSelector
пода Kubernetes. Поды инстанса унаследуют это поле как есть.Пример:
nodeSelector: type: network-gateway
- строка
Имя StorageClass’а, который будет использоваться для хранения DHCP lease.
Если не указано, используется StorageClass существующей PVC, а если PVC пока нет, используется или глобальный StorageClass, или
global.discovery.defaultStorageClass
, а если и их нет, данные сохраняются в emptyDir.global.discovery.defaultStorageClass
применяется только при включении модуля, смена StorageClass по умолчанию в кластере не приведет к перезаказу диска.Dnsmasq, на котором основан наш DHCP-сервер, имеет свои механизмы защиты от дублирования IP-адресов в случае утери базы с lease’ами, но лучше ее не терять.
- строка
Обязательный параметр
Адрес локальной подсети, которую должен обслуживать шлюз.
На основе этого адреса будут сформированы 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
- массив объектов
Toleration’ы для подов c DHCP и с настройщиками iptables.
Стандартный список toleration. Поды инстанса унаследуют это поле как есть.