Доступно только в Enterprise Edition.

Модуль включен по умолчанию в наборе модулей Default. Модуль выключен по умолчанию в наборах модулей: Managed, Minimal.

Как явно включить или отключить модуль…

Чтобы явно включить или выключить модуль node-local-dns, установите spec.enabled в true или false в ModuleConfig/node-local-dns (создайте, при необходимости), или воспользуйтесь командой deckhouse-controller module в поде d8-system/deckhouse.

Пример включения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: node-local-dns
    spec:
      enabled: true
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module enable node-local-dns
    

Пример выключения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: node-local-dns
    spec:
      enabled: false
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module disable node-local-dns
    

Модуль не требует конфигурации (все работает из коробки).

Обратите внимание на следующее:

  • Модуль работает только для iptables-режима kube-proxy (ipvs не поддерживается и поведение с ipvs не проверялось).
  • По умолчанию модуль не работает для запросов из hostNetwork, все запросы уходят в kube-dns. В данном случае можно самостоятельно в конфигурации пода указать адрес 169.254.20.10, но тогда в случае падения node-local-dns не будет работать fallback на kube-dns.