Рейтинг:0

coreDNS затоплен istio (envoy)

флаг cn

Когда есть много внешних виртуальных машин, доступных только через брандмауэр, и в кластере есть несколько пространств имен, каждое из которых имеет свой собственный набор внешних виртуальных машин, вы получаете множество ServiceEntries, которые, в свою очередь, вызывают множество DNS-запросов. за

$host.$ns.svc.cluster.local 
$host.svc.cluster.local
$host.cluster.local

где $host, например: vm-1.vm-cluster.example.com, скажем, с 10 пространствами имен и 100 модулями в каждом пространстве имен, это довольно много DNS-запросов, на все из которых отвечает NXDOMAIN, поэтому локальный DNS-кэш прокси-сервера istio не работает. Это может привести к ситуации перегрузки модулей coreDNS (размер памяти, включая буферы, увеличивается, что приводит к тому, что модуль DNS переходит в состояние OOM).

Мой вопрос: как я могу предотвратить эти запросы? Решения, которые я придумал, следующие:

Замена $host полным доменным именем, которое включает точку в конце, не работает, поскольку сертификаты X.509 содержат имя хоста без точки в конце. Измените конфигурацию DNS каждого пода и установите ndots на что-то вроде 3. Но это звучит как кошмар обслуживания. Я хотел бы решить эту проблему с помощью умной комбинации определений ServiceEntry, VirtualService и Gateway.

K8s версии 1.19 (версия vmware) Istio версии 1.9 (также версия vmware)

Mikołaj Głodziak avatar
флаг id
Проблема только в OOM или что-то еще? Можете ли вы, например. увеличить ресурсы памяти для DNS Pod?
флаг cn
Я не могу надежно увеличить память, потому что кластер VMware имеет фиксированную конфигурацию для coreDNS, как мне сказали. Это также проблема задержки. чем больше очереди, тем дольше выполняется DNS-запрос. вы хотите, чтобы они были быстрыми. Однако я обнаружил проблему с нашей конфигурацией. Каким-то образом все службы были определены во всех пространствах имен. Мы можем и будем определять службы только в тех пространствах имен, где они необходимы. Но я вижу, что проблема вернется позже, если кластер и его внешние зависимости будут расти.
Mikołaj Głodziak avatar
флаг id
Не могли бы вы добавить свои файлы yaml (текущая конфигурация), чтобы воспроизвести вашу проблему?
Wytrzymały Wiktor avatar
флаг it
Привет @bofh.at. Любые обновления?

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

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