The module is not enabled by default in any bundles.
The module is configured using the ModuleConfig custom resource named network-gateway (learn more about setting up Deckhouse…).
Example of the ModuleConfig/network-gateway resource for configuring the module:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: network-gateway
spec:
version: 1
enabled: true
settings: # <-- Module parameters from the "Parameters" section below.
Parameters
Schema version: 1
- booleandisableDHCP
Disables the DHCP server.
Default:
false - objectdns
Settings to pass to clients via DHCP.
- array of stringsdns.search
List of search domains.
Example:
search: - office.example.com - srv.example.com - array of stringsdns.servers
List of DNS servers.
Example:
servers: - 4.2.2.2 - 8.8.8.8
- objectnodeSelector
Required value
Selects nodes that will be used to configure iptables rules and to run the DHCP server.
The same as in the Pods’
spec.nodeSelectorparameter in Kubernetes. Instance Pods inherit this field as is.Example:
nodeSelector: type: network-gateway - stringpublicAddress
Required value
Replaces the src of the packets outgoing from the LAN.
Pattern:
^([0-9]{1,3}\.){3}[0-9]{1,3}$Example:
publicAddress: 10.220.203.240 - stringstorageClass
The name of the StorageClass to use for storing the DHCP lease.
If omitted, the StorageClass of the existing PVC is used. If there is no PVC yet, either the global StorageClass or
global.discovery.defaultStorageClassis used, and if those are undefined, the emptyDir volume is used to store the data.global.discovery.defaultStorageClassis applied during module activation, changing default StorageClass in cluster won’t result in disk re-provisioning.Dnsmasq (underlies our DHCP server) has its own mechanisms for protecting against the duplication of IP addresses if the lease database is lost (but it is better not to lose it).
- stringsubnet
Required value
The address of a local subnet that gateway serves.
The DHCP options to pass to clients are generated based on this address:
- Address pool — numbers starting with 50 and up to the last one.
- Router — the subnet’s first address.
Pattern:
^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))$Example:
subnet: 192.168.42.0/24 - array of objectstolerations
Tolerations for DHCP Pods and iptables managers.
The same as in the Pods’
spec.tolerationsparameter in Kubernetes. The instance’s Pods inherit this field as is.- stringtolerations.effect
- stringtolerations.key
- stringtolerations.operator
- integertolerations.tolerationSeconds
- stringtolerations.value