← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися перевіряти 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 і який порядок перевірок ти застосовуватимеш на продакшені.