Да, именно так. Откуда они генерятся?
Много приложений создают новый сокет для каждого DNS запроса.
Часто приложение делает новый лукап вообще на каждый запрос. В Go, например, если специально резолвер не настраивать.
+ Из-за особенностей DNS резолвинга в кубере с запросами .ns.svc.cluster.local, .svc.cluster.local, .cluster.local и наконец без .cluster.local на один dns запрос может создаваться 4 или 8 flow, в зависимости от того, стоит ли опция single-request-reopen в resolv.conf
В яндекс клауде ограничение на 50к flow с одной виртуалки. Flow это как соединение в conntrack - кортеж (protocol, source ip, source port, destination ip, destination port)
При множестве dns запросов этот лимит достигается очень легко.
Поэтому либо ты решаешь со своей стороны использованием nodelocaldns, либо с помощью саппорта яндекс клауда с их стороны.
P.S. уменьшение ndots в настройках dns резолвинга для подов поможет, но не сильно