Comments 7
Столкнулся буквально недавно с такой же проблемой, но на голом докере.
Было замечено, что резолв DNS в контейнере с bridge сеткой занимает ~4.1 сек при <~1.1 сек на хосте.
Завел баг в docker, не понятно, тот же ли тут корень проблемы.
На сколько я знаю, сети в Docker тоже строятся на основе VIP, так что вполне возможно. Хотя сам такого не замечал

docker standalone или docker swarm? Вообще бриджовая сеть это вообще отдельная беда (((

Баг очень частый, на Хабре уже было несколько постов об этом, на GitHub в релевантом issue сотни комментариев. По сути настоящее решение — это только п.1 (что по сути является вариантом "ходим к coredns по TCP") — в musl воркэраунда с single-request-reopen нет, Weave CNI явно используется не всеми.

Использовать по одному DNS-серверу на ноду и указывать его в качестве nameserver. Можно использовать LocalDNS cache

мне кажется, что это и есть правильное решение — т.к. оно решает еще кучу других проблем.

Надо бы снова посмотреть на это дело. Раньше для установки, кажется, требовались изменения в конфигурацию kubelet, что в AKS не доступно. Поэтому и пришлось городить такие костыли.
Но настоящим решением все равно будет патч в ядро Linux.

AKS, не-AKS — для меня не столь важно. Я сталкивался с неадекватным поведением дефолтных инсталляций кубера (типа rancher) на выделенных инстансах (баре метал или вмки) — поэтому и есть гипотеза, что локальный днс помог бы (да, это связано с другими проблемами, чем описано в статье)

Only those users with full accounts are able to leave comments. Log in, please.