Управление 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