Назад | Перейти на главную страницу

systemd-resolved not cache не работает при запросах от haproxy

Мы запускаем HAProxy 1.8 на Ubuntu 18.04 и замечаем медленное время запуска. Ранее мы фиксировали медленный запуск при поиске DNS, так как у нас есть много бэкэндов, которые HAProxy должен разрешать при запуске.

Однако, поскольку сервер работает systemd-resolved при включенном кешировании это не должно быть проблемой (большинство серверных ВМ используют один и тот же хост). Мы подтвердили, что systemd-resolved на самом деле запущен, и кеш можно включить, dig команды и глядя на сетевой трафик.

Но при запуске HAProxy мы видим много исходящего трафика поиска DNS, хотя эти запросы должны быть кэшированы. Это также подтверждают systemd-resolved stats которые показывают тысячи промахов кеша.

Переход на dnsmasq вместо того systemd-resolved заставляет систему вести себя так, как ожидалось - первые несколько запросов DNS не кэшируются, но все после них кэшируется, и запуск HAProxy выполняется быстро.

Возникает вопрос: что могло вызвать systemd-resolved чтобы не кэшировать запросы DNS, и почему это происходит только с запросами HAProxy, а не при использовании dig?