← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися обмежувати мережеві зєднання між pod за допомогою network policy. Крок 1. Переконатися, що cni плагін підтримує network policy. Пояснення: деякі прості інсталяції не мають підтримки політик, це треба перевірити в документації. Крок 2. Створити namespace net-lab. Команда: kubectl create namespace net-lab Пояснення: будемо експериментувати в окремому просторі. Крок 3. Розгорнути два deployment у namespace. Ідея: app-frontend і app-backend з простими http сервісами, плюс відповідні service. Пояснення: frontend повинен звертатися до backend. Крок 4. Перевірити, що фронт може дістатися до бекенда. Пояснення: через exec у pod frontend виконай curl на service backend. Крок 5. Створити network policy, яка забороняє весь вхідний трафік за замовчуванням. Yaml: policy з pod selector match all і policy type ingress без allow правил. Пояснення: такий підхід блокує зайві підключення. Крок 6. Застосувати policy. Команда: kubectl apply -f np-deny-all.yaml -n net-lab Пояснення: підключення до pod перестануть працювати. Крок 7. Додати policy, що дозволяє трафік від frontend до backend. Yaml: network policy з pod selector для backend і from selector по labels frontend. Пояснення: тільки frontend зможе підключатися до backend. Крок 8. Перевірити доступ. Пояснення: знову виконай curl з frontend до backend і з іншого pod, який не має потрібного label. Крок 9. Обміркувати outbound правила. Пояснення: додай правила egress, якщо потрібно обмежити вихідний трафік з pod. Крок 10. Міні звіт. Завдання: опиши, як ти використаєш network policy для ізоляції середовищ stage і prod.