Модуль не включен по умолчанию в каком-либо наборе модулей.
Чтобы настроить модуль, используйте ресурс 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