← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 46: Перевірка DNS у кластері

Технологія: Kubernetes

Номер лабораторної: 46 · Рівень: middle

Тема: Налагодження DNS та CoreDNS

Повний опис / сценарій лабораторної:

Мета: навчитися перевіряти dns роботу у кластері та шукати типові помилки.



Крок 1. Перевірити стан pod CoreDNS.

Команда: kubectl get pods -n kube-system -l k8s-app=kube-dns

Пояснення: переконайся що всі pod у статусі Running.



Крок 2. Створити test pod з утилітами nslookup і dig.

Команда: kubectl run dns-test --image=radial/busyboxplus:curl --restart=Never -it -- sh

Пояснення: це середовище для dns експериментів.



Крок 3. Перевірити резолвінг сервісу.

Команда: nslookup kubernetes.default

Пояснення: цей запис завжди має існувати у здоровому кластері.



Крок 4. Перевірити зовнішній домен.

Команда: nslookup example.com

Пояснення: так перевіряється forward від dns кластера до зовнішніх серверів.



Крок 5. Подивитися resolv.conf у pod.

Команда: cat /etc/resolv.conf

Пояснення: тут видно адреси dns сервера та search домени.



Крок 6. Вийти з pod і переглянути логи coredns.

Команда: kubectl logs -n kube-system <coredns-pod>

Пояснення: шукай помилки timeouts або refused.



Крок 7. Увімкнути детальний лог для coredns конфігурації.

Пояснення: за потреби онови configmap coredns додавши лог плагін і перезапусти pod.



Крок 8. Повторити dns запити і подивитися нові логи.

Пояснення: так ти побачиш які саме запити проходять через coredns.



Крок 9. Повернути configmap до початкового стану.

Пояснення: після експериментів вимкни зайве логування щоб не перевантажувати систему.



Крок 10. Міні звіт.

Завдання: опиши типові причини проблем з dns у k8s і який порядок перевірок ти застосовуватимеш на продакшені.