Настройка маршрутизации запросов к DNS-серверам
Внутри кластера Kubernetes разрешение DNS-имён обеспечивается связкой компонентов CoreDNS и NodeLocal DNS. По умолчанию все внешние запросы направляются на DNS-серверы, указанные в конфигурационном файле.
В вашей инфраструктуре может использоваться несколько корпоративных DNS-серверов, обслуживающих зоны с пересекающимися доменными именами. В этом случае для корректной работы сканера необходимо настроить маршрутизацию запросов к нужному серверу.
Чтобы настроить пересылку запросов в дополнительный DNS-сервер, добавьте в конфигурационные файлы серверов CoreDNS и NodeLocal DNS новую DNS-зону для корректной обработки запросов к определенным доменам.
Ознакомьтесь с примерами настройки конфигурационных файлов CoreDNS и NodeLocal DNS с указанием пула IP-адресов пересылки на определенный DNS-сервер. Приведенная ниже настройка позволяет пересылать все запросы к диапазону адресов из сети 10.99.102.x на DNS-сервер 10.99.101.101.
Пример добавления DNS-зоны в CoreDNS
-
Выполните команду:
kubectl edit cm -n kube-system coredns -
Добавьте DNS-зону в конфигурационный файл CoreDNS:
Corefile: | .:53 { errors health { lameduck 5s } ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf { prefer_udp max_concurrent 1000 } cache 30 loop reload loadbalance } 102.99.10.in-addr.arpa:53 { errors cache 30 forward . 10.99.101.101 }
Пример добавления DNS-зоны в NodeLocal DNS
-
Выполните команду:
kubectl edit cm -n kube-system nodelocaldns -
Добавьте DNS-зону в конфигурационный файл NodeLocal DNS:
102.99.10.in-addr.arpa:53 { errors cache 30 reload loop bind 169.254.25.10 forward . 10.99.101.101 { force_tcp } prometheus :9253 }
Была ли полезна эта страница?