Available in editions: EE
The module is not enabled by default in any bundles.
Settings
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
- objectsettings
- booleansettings.disableDHCP
Disables the DHCP server.
Default:
false - objectsettings.dns
Settings to pass to clients via DHCP.
- array of stringssettings.dns.search
List of search domains.
Example:
search: - office.example.com - srv.example.com - array of stringssettings.dns.servers
List of DNS servers.
Example:
servers: - 4.2.2.2 - 8.8.8.8
- objectsettings.nodeSelector
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 - stringsettings.publicAddress
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 - stringsettings.storageClass
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, the StorageClass will be used according to the global storageClass parameter setting.
The global
storageClassparameter is only considered when the module is enabled. Changing the globalstorageClassparameter while the module is enabled will not trigger disk re-provisioning.*Warning.** Specifying a value different from the one currently used (in the existing PVC) will result in disk re-provisioning and all data will be deleted.
If
falseis specified, emptyDir will be forced to be used.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).
- stringsettings.subnet
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 objectssettings.tolerations
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.- stringsettings.tolerations.effect
- stringsettings.tolerations.key
- stringsettings.tolerations.operator
- integersettings.tolerations.tolerationSeconds
- stringsettings.tolerations.value