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