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…

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