Управление DNS в кластере Kubernetes реализуется с помощью модуля kube-dns.

Модуль устанавливает компоненты CoreDNS для управления DNS в кластере Kubernetes.

Модуль удаляет объекты Deployment, ConfigMap и RBAC для CoreDNS, установленные через утилиту kubeadm. При развертывании собственного CoreDNS избегайте использования имен coredns или system:coredns для любых ресурсов (Deployment, Service, ConfigMap, ServiceAccount, ClusterRole, ClusterRoleBinding). Используйте альтернативные имена, например infra-dns, чтобы предотвратить их автоматическое удаление Deckhouse Kubernetes Platform.

Пример конфигурации

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: kube-dns
spec:
  version: 1
  enabled: true
  settings:
    upstreamNameservers:
    - 8.8.8.8
    - 8.8.4.4
    hosts:
    - domain: one.example.com
      ip: 192.168.0.1
    - domain: two.another.example.com
      ip: 10.10.0.128
    stubZones:
    - zone: consul.local
      upstreamNameservers:
      - 10.150.0.1
    enableLogs: true
    clusterDomainAliases:
    - foo.bar
    - baz.qux

Дополнительные ресурсы