Доступно в редакциях: EE
Модуль не включен по умолчанию в каком-либо наборе модулей.
Настройки
Чтобы настроить модуль, используйте ресурс ModuleConfig с именем network-gateway (подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/network-gateway для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: network-gateway
spec:
version: 1
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 1
- объектsettings
- булевыйsettings.disableDHCP
Отключает DHCP-сервер.
По умолчанию:
false - объектsettings.dns
Настройки, которые будут переданы клиентам через DHCP.
- массив строкsettings.dns.search
Список search-доменов.
Пример:
search: - office.example.com - srv.example.com - массив строкsettings.dns.servers
Список DNS-серверов.
Пример:
servers: - 4.2.2.2 - 8.8.8.8
- объектsettings.nodeSelector
Обязательный параметр
Cелектор, который идентифицирует узлы, на которых будут настроены правила iptables и на которых будет работать DHCP-сервер.
Структура, аналогичная
spec.nodeSelectorпода Kubernetes. Поды инстанса унаследуют это поле как есть.Пример:
nodeSelector: type: network-gateway - строкаsettings.publicAddress
Обязательный параметр
Адрес, на который будет заменен src-адрес исходящих из локальной сети пакетов.
Шаблон:
^([0-9]{1,3}\.){3}[0-9]{1,3}$Пример:
publicAddress: 10.220.203.240 - строкаsettings.storageClass
Имя StorageClass, который будет использоваться для хранения DHCP lease.
Если значение не указано, используется StorageClass существующей PVC. Если PVC нет, будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClassучитывается только при включении модуля. Изменение глобального параметраstorageClassпри включенном модуле не приведет к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Если указать
false, будет принудительно использоватьсяemptyDir.Dnsmasq, используемый DHCP-сервером, включает механизмы защиты от дублирования IP-адресов при утере базы lease’ов, но лучше избегать ее потери.
- строкаsettings.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 - массив объектовsettings.tolerations
Toleration’ы для подов c DHCP и с настройщиками iptables.
Стандартный список toleration. Поды инстанса унаследуют это поле как есть.
- строкаsettings.tolerations.effect
- строкаsettings.tolerations.key
- строкаsettings.tolerations.operator
- целочисленныйsettings.tolerations.tolerationSeconds
- строкаsettings.tolerations.value