Модуль включен по умолчанию в наборе модулей 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 svc/deckhouse-leader -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 svc/deckhouse-leader -c deckhouse -- deckhouse-controller module disable node-local-dns
    

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

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

  • Модуль работает со всеми CNI, но для корректной работы с cni-cilium необходимо выполнить ряд условий.
  • По умолчанию, при использовании совместно с модулем cni-simple-bridge или cni-flannel, модуль node-local-dns не работает для запросов из hostNetwork. В этом случае все запросы уходят в модуль kube-dns. Вы можете указать адрес 169.254.20.10 в конфигурации пода, но тогда, в случае проблем в работе модуля node-local-dns, не будет работать fallback на модуль kube-dns.