Рейтинг:1

Как очистить кеш DNS для пула GKE из metadata.google.internal?

флаг id

У меня проблема, где сломалась запись dns для внешнего домена. Природа проблемы на данный момент неизвестна.

Этот домен был запрошен из модуля кластера kubernetes в Google Kubernetes Engine, в то время как запись была нарушена. Проблема сохраняется (инцидент произошел более 2 месяцев назад) при запросе этого домена из кластера.

Преобразователь DNS кластера использует metadata.google.internal для разрешения DNS, и из кластера эти запросы с dig будут:

копать проблематично.внешний.домен @169.254.169.254
# не разрешается и занимает более 2 секунд
копать проблематичный.внешний.домен @1.1.1.1
# корректно разрешается менее чем за 200 мс

Создание новой виртуальной машины в том же проекте и зоне корректно разрешает проблемный домен. Это влияет только на DNS-преобразователь активного сервера метаданных кластера.

Есть ли способ сбросить кеши DNS или какие-либо другие предложения?

В общем, я стараюсь избегать редактирования настроек DNS в кластере и предпочитаю другие способы исправить это.

Изменить дополнительную информацию: NodeLocal DNSCache уже активен в кластере и ссылается на эту документацию https://cloud.google.com/kubernetes-engine/docs/how-to/nodelocal-dns-кэш проблема в метаданных dns сервера. Эта выдержка из списка преимуществ:

Запросы DNS для внешних URL-адресов (URL-адресов, которые не относятся к ресурсам кластера) перенаправляются непосредственно на локальный сервер метаданных Cloud DNS, минуя kube-dns.

Какой ip 169.254.169.254

Fariya Rahmat avatar
флаг ve
Ваша проблема была решена? Если да, можете ли вы принять предложенное решение?
флаг id
Это не было решено.
Abhijith Chitrapu avatar
флаг tr
@Manwe Если это работает с помощью следующего [инструмента] (https://developers.google.com/speed/public-dns/cache) от GCP, прочитайте часто задаваемые вопросы. Если TTL (время жизни) не истек, и вы уже пробовали вышеуказанные методы в ссылке. На всякий случай, если вы хотите, чтобы кластер K8 был запущен и работал, просто временно отключите его, и вы можете увидеть это в [предупреждении](https://cloud.google.com/kubernetes-engine/docs/how-to/nodelocal- DNS-кэш # включить).
Рейтинг:1
флаг cn

Хотя нет конкретного способа очистить сервер метаданных Cloud DNS, все же каждый запрос имеет TTL, и в основном GCE DNS учитывает это, срок его действия истекает через определенное время, а кеш становится недействительным.

Тем не менее, если проблема связана с кешем, ее следует устранить, оцепив узел GKE с помощью kubectl кордон $NODENAME команда.

Кроме того, вы можете обойти GCE DNS, указав конфигурацию DNS-заглушки. Проверить эта ссылка для деталей.

флаг id
Как я уже указал, я пытаюсь избежать конфигурации в кластере для dns. Проблема с google метаданными-dns-сервером, поэтому кордон не поможет (сервер dns НЕ находится в кластере). И да, обычно кеши очищаются и т. д., но DNS-сервер не работает и не очищает кеш для этого конкретного домена.
Anant Swaraj avatar
флаг cn
Невозможно напрямую взаимодействовать с сервером метаданных.Если бы это была просто проблема с node-local-dns, «kubectl -n kube-system rollout restart daemonsets node-local-dns» помог бы. Обычно самый быстрый способ справиться с такими проблемами — переместить рабочие нагрузки с этого узла на новый и предотвратить запуск новых на этом узле.
Рейтинг:0
флаг cn

Дополнение NodeLocal DNS cache может помочь разрешить упомянутые домены в вашем случае, поскольку оно перенаправляет DNS-запросы для внешних URL-адресов непосредственно на локальный сервер метаданных Cloud DNS, минуя kube-dns, и поскольку ваша виртуальная машина Compute Engine может разрешать упомянутый DNS (используя локальное облако). DNS), поэтому ваш кластер также сможет это сделать.

Ссылаться на эта документация подробные инструкции по настройке NodeLocal DNSCache в кластере GKE.

флаг id
Я уже использую DNS-кеш NodeLocal. Проблема заключается в реализации DNS сервера метаданных Google. «DNS-запросы для внешних URL-адресов (URL-адресов, которые не относятся к ресурсам кластера) перенаправляются непосредственно на локальный сервер метаданных Cloud DNS, минуя kube-dns». Проблема заключается в сервере метаданных Cloud DNS.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.