The module is enabled by default in the Default
bundle.
The module is disabled by default in the following bundles: Managed
, Minimal
.
The module is configured using the ModuleConfig custom resource named kube-dns
(learn more about setting up Deckhouse…).
Example of the ModuleConfig/kube-dns
resource for configuring the module:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: kube-dns
spec:
version: 1
enabled: true
settings: # <-- Module parameters from the "Parameters" section below.
Parameters
Schema version: 1
- clusterDomainAliasesarray of strings
A list of cluster domain aliases; these are resolved on par with
global.discovery.clusterDomain
.Please note: the domain aliase must not match the domain used in the DNS name template in the publicDomainTemplate parameter.
- Element of the arraystring
Pattern:
^[0-9a-zA-Z\.-]+$
- Element of the arraystring
- enableLogsboolean
Enable CoreDNS logging.
Default:
false
- hostsarray of objects
Not required value.
A static list of hosts similar to that of
/etc/hosts
.- hosts.domainstring
Pattern:
^[0-9a-zA-Z\.-]+$
- hosts.ipstring
Pattern:
^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$
- hosts.domainstring
- stubZonesarray of objects
A list of additional zones CoreDNS should be authoritative for.
Default:
[]
Example:
stubZones: - zone: example.com upstreamNameservers: - 8.8.8.8 cacheTTLSeconds: 3600 transportProtocolMode: PreferUDP
- stubZones.cacheTTLSecondsinteger
Max TTL in seconds for NOERROR responses.
Default:
30
Allowed values:
1 <= X <= 3600
- stubZones.transportProtocolModestring
The mode of the transport protocol for communicating with the upstream DNS server:
PreferUDP
— UDP is used, even if the original request came over TCP. Note that if the DNS response from the upstream DNS server exceeds 512 bytes and has been truncated and marked with the TC bit (RFC 1035), then it will be resent over TCP (RFC 5966). The request will not be resent over TCP if there are other UDP issues.ForceTCP
— Always uses TCP, even if the original request is over UDP.KeepOriginal
— Uses the same protocol (TCP or UDP) as the original request.
Default:
"PreferUDP"
Allowed values:
PreferUDP
,ForceTCP
,KeepOriginal
- stubZones.upstreamNameserversarray of strings
Required value
A list of IP addresses of recursive DNS servers that CoreDNS will use to resolve domains in this zone.
- Element of the arraystring
Pattern:
^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}(:[0-9]{1,})?$
- Element of the arraystring
- stubZones.zonestring
Required value
The CoreDNS zone.
Pattern:
^[0-9a-zA-Z\.-]+$
Example:
zone: consul.local
- stubZones.cacheTTLSecondsinteger
- transportProtocolModestring
The mode of the transport protocol for communicating with the upstream DNS server:
PreferUDP
— UDP is used, even if the original request came over TCP. Note that if the DNS response from the upstream DNS server exceeds 512 bytes and has been truncated and marked with the TC bit (RFC 1035), then it will be resent over TCP (RFC 5966). The request will not be resent over TCP if there are other UDP issues.ForceTCP
— Always uses TCP, even if the original request is over UDP.KeepOriginal
— Uses the same protocol (TCP or UDP) as the original request.
Default:
"PreferUDP"
Allowed values:
PreferUDP
,ForceTCP
,KeepOriginal
- upstreamNameserversarray of strings
A list of IP addresses of recursive DNS servers that CoreDNS will use to resolve external domains.
By default, the
/etc/resolv.conf
list is used.- Element of the arraystring
Pattern:
^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}(:[0-9]{1,})?$
- Element of the arraystring