Модуль не включен по умолчанию в каком-либо наборе модулей.
Чтобы настроить модуль используйте 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
- disableDHCPбулевый
Отключает DHCP-сервер.
По умолчанию:
false
- dnsобъект
Настройки, которые будут переданы клиентам через DHCP.
- dns.searchмассив строк
Список search-доменов.
Пример:
search: - office.example.com - srv.example.com
- dns.serversмассив строк
Список DNS-серверов.
Пример:
servers: - 4.2.2.2 - 8.8.8.8
- dns.searchмассив строк
- 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 пока нет — используется или глобальный 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’ы инстанса унаследуют это поле как есть.
- tolerations.effectстрока
- tolerations.keyстрока
- tolerations.operatorстрока
- tolerations.tolerationSecondsцелочисленный
- tolerations.valueстрока