TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2692 1.4K
💻 Как работает DNS в Kubernetes?

В Kubernetes поды динамически создаются и удаляются, их IP-адреса меняются. Использование конкретных адресов невозможно, поэтому в кластере функционирует внутренняя DNS-система, позволяющая обращаться к сервисам по именам.

CoreDNS — стандартный DNS-сервер Kubernetes. Он работает внутри кластера, как набор подов. Основная задача — обработка DNS-запросов от всех подов кластера.

При создании Service (например, app в namespace dev) Kubernetes API передаёт его имя и IP в CoreDNS. а он автоматически создаёт A-запись (или SRV, если необходимо).

➡️ Формирование DNS-имени ресурса в кластере.

Система строится вокруг домена кластера (по умолчанию — cluster.local).

Для сервиса (Service). Полное имя (FQDN) имеет вид: <service-name>.<namespace>.svc.cluster.local

🔵Пример: Для сервиса redis-cash в namespace stage полное имя — redis-cash.stage.svc.cluster.local. Под из любого другого namespace может обратиться к нему по этому имени.

🔵Короткая форма: Внутри одного namespace можно использовать только имя сервиса — redis-cash. DNS-запрос автоматически дополнится до полного имени благодаря настройкам поиска в /etc/resolv.conf пода.

➡️ Проблема масштабирования CoreDNS

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

➡️ Принцип работы:

1. На каждой ноде под node-local-dns работает в режиме hostNetwork.
2. Правила iptables настраиваются так, чтобы трафик к сервису kube-dns не покидал ноду, а перехватывался локальным агентом.
3. Агент слушает локальный адрес (например, 169.254.20.10) и кеширует ответы.

Понимание того, как устроены CoreDNS и NodeLocalDNS, даёт ключ к быстрой диагностике проблем сетевой связности в кластере. Часто за внешними симптомами падения сервиса скрывается не ошибка в коде, а некорректная работа DNS-инфраструктуры — и умение разобраться в ней превращает непонятный инцидент в рутинную задачу с быстрым решением.

#заметкиИнженера
  • ❤ 5
  • 👍 3
  • 🔥 3
  • 👏 2
More from @cortel_cloud
  1. Oct 1, 2026🖥 sed — потоковый редактор текста в Linux 🤓 Появился в Bell Labs в 1970-х и до сих пор и…
  2. Sep 29, 2026🖥 РАЗНИЦА Block, File и Object Storage 🧑‍🎓Повторение — мать учения. Для разных задач по…
  3. Sep 25, 2026😎 Когнитивная РАЗгрузка За неделю с горящими дедлайнами, часовыми ВКС и постоянным перекл…
  4. Sep 23, 2026💻 kubectl diff: обработка изменений в CI/CD kubectl diff сравнивает текущую конфигурацию…
  5. Sep 18, 2026🛡 ДА! У НАС ЦЕЛАЯ ЧЕРЕДА ПОЛЕЗНЫХ ЭФИРОВ ПРО ИБ! 🎙 Уже 24 сентября Вероника Нечаева, выс…
  6. Sep 16, 2026👩‍💻 Работа с ПДн это непрерывный процесс. Компания меняется — появляются новые сервисы,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →