Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Одна цифра в /etc/resolv.conf способна положить внутренний DNS-кластер быстрее, чем ...

Дата публикации: 21-09-2026 07:57:47

Одна цифра в /etc/resolv.conf способна положить внутренний DNS-кластер быстрее, чем ботнет на 100 000 хостов. Речь идет о директиве ndots:5.
В Kubernetes по умолчанию для всех подов resolv.conf выглядит так:
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
Что это значит для вашего сервиса? Параметр ndots определяет количество точек в доменном имени, при котором резолвер считает его "абсолютным". Если точек меньше пяти, glibc начинает перебор всех суффиксов из search-пути.
Теперь представьте микросервис, который делает запрос к внешнему API: например, api.stripe.com. В имени всего две точки (меньше пяти). Генерируется следующая очередь DNS-запросов:
1. api.stripe.com.default.svc.cluster.local
2. api.stripe.com.svc.cluster.local
3. api.stripe.com.cluster.local
4. api.stripe.com. (и только здесь мы получаем ответ)
Каждый внешний HTTP-запрос превращается в 4 паразитных NXDOMAIN ответа от CoreDNS. Если у вас 1000 RPS к внешним API, вы генерируете 4000 лишних запросов в секунду. В масштабах кластера это превращает CoreDNS в узкое горлышко, которое начинает дропать пакеты из-за переполнения UDP-буферов или CPU-стелса.
Результат? "Intermittent connection reset by peer" в логах приложения, latency скачет в космос, а SRE-команда в 3 часа ночи пытается понять, почему DNS-инфраструктура захлебывается, хотя трафик не вырос.
Как фиксить?
1. FQDN в коде. Добавляйте точку в конец имени: api.stripe.com. (с точкой). Это принудительно делает запрос абсолютным и обходит ndots.
2. Подстройка ndots. Если сервисы внутри кластера общаются редко, а внешних запросов много, установите ndots:1 в Deployment.
3. Use-cases с CoreDNS. Включите плагин `autopath` или `ndots:0` (если архитектура позволяет), чтобы минимизировать перебор.
4. HostNetwork. Для критических сервисов с огромным количеством внешних вызовов рассмотрите использование `dnsPolicy: Default`, чтобы резолвить имена через DNS хоста, минуя CoreDNS кластера.
TCO такого "недосмотра" считается просто. Потеря 100мс на каждом API-запросе из-за DNS-оверхеда при 10k RPS - это 1000 секунд задержки в секунду. В пересчете на инстансы, которые простаивают в ожидании ответа от DNS, вы переплачиваете облаку от 5 до 15% стоимости compute-ресурсов просто за то, что CoreDNS переваривает мусор.
DNS - это не просто "магия", это критический путь вашего трафика. Не позволяйте glibc управлять вашей доступностью.
- Инфраструктурный аудит и калькулятор TCO кластера: @Personnel_run_bot (/tma)
- База знаний и разборы: ftops.space
- ftops.space | Run-As-Daemon Infrastructure

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Одна цифра в /etc/resolv.conf способна положить внутренний DNS-кластер быстрее, чем ...012.0121-09-2026
2Очередной разбор полетов в 03:00. Мониторинг Cilium показывает низкую загрузку ...09.2121-09-2026
3Памятник kubelet, Kubernetes != CRI0713-07-2026
4Ночной сбой 03:00. Мониторинг кричал о деградации аплинка, графики потерь ...-110.3321-09-2026
5[Show] swift-topomap: Silicon-aware TUI and eBPF metrics engine011.8727-07-2026
6FastAPI на AMD FX-8320: оптимизация P99 latency в условиях ограниченных ресурсов (HDD, DDR3)012.4122-02-2026
7Tatarnetes: как мы научили Kubernetes говорить по-татарски, цитировать Габдуллу Тукая и останавливаться на чай с молоком08.5820-09-2026
8#новости 1. OpenAI выпускает брендированную клавиатуру для Codex. Не шутка ...-2704-07-2026
9🌌 МИЦЕЛИЙ: КОСМИЧЕСКАЯ ПАРАДИГМА ИНФОРМАЦИИ --- ✨ ПРЕЛЮДИЯ: ТО, ЧТО ...5703-07-2026
10Дырявый мессенджер015.2320-07-2026

Классификация: Мнения. Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 12.57. Источник: vk.com.