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

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

Kubernetes Лабораторна 91: Діагностика мережі pod

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

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

Тема: Troubleshooting мережевих проблем всередині кластера

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

Мета: відпрацювати базовий порядок дій при мережевих проблемах у кластері.



Крок 1. Створити два pod у різних namespace.

Пояснення: наприклад client у ns-a і server з service у ns-b.



Крок 2. Перевірити dns запис сервісу.

Команда: nslookup server.ns-b.svc.cluster.local із пода client.



Крок 3. Перевірити ping по ip.

Пояснення: якщо мережевий плагін дозволяє icmp.



Крок 4. Спробувати http запит на сервіс.

Команда: curl http://server.ns-b.svc.cluster.local



Крок 5. Якщо немає доступу перевірити networkpolicy.

Команда: kubectl get networkpolicy -A

Пояснення: подивися чи є політика яка блокує трафік.



Крок 6. Перевірити endpoints сервісу.

Команда: kubectl get endpoints -n ns-b server

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



Крок 7. Перевірити чи pod сервер справді слухає потрібний порт.

Команда: kubectl exec -it server-pod -n ns-b -- netstat -tulpn



Крок 8. Переглянути логи cni плагіна.

Пояснення: інколи помилки конфігурації видно саме там.



Крок 9. Зробити тимчасову networkpolicy яка дозволяє весь трафік між ns-a і ns-b.

Пояснення: так можна перевірити чи проблема саме у політиках.



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

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