The module is enabled by default in the Default bundle. The module is disabled by default in the following bundles: Managed, Minimal.

How to explicitly enable the module…

Note that the configOverrides parameter of the InitConfiguration resource is used when installing Deckhouse, not ModuleConfig.

Set the kubeDnsEnabled: true or kubeDnsEnabled: false in the configOverrides parameter to explicitly enable or disable the module when installing Deckhouse.

Use the kubeDns section of the configOverrides parameter to configure the module when installing Deckhouse.

Set the spec.enabled module parameter to true or false to explicitly enable or disable the module.

Example of enabling the kube-dns module:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: kube-dns
spec:
  enabled: true

Example of disabling the kube-dns module:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: kube-dns
spec:
  enabled: false

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.

    • Element of the arraystring

      Pattern: ^[0-9a-zA-Z\.-]+$

  • 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,}$

  • 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
    
    • stubZones.cacheTTLSecondsinteger

      Max TTL in seconds for NOERROR responses.

      Default: 30

      Allowed values: 1 <= X <= 3600

    • 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,})?$

    • stubZones.zonestring

      Required value

      The CoreDNS zone.

      Pattern: ^[0-9a-zA-Z\.-]+$

      Example:

      zone: consul.local
      
  • 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,})?$