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

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

Kubernetes Лабораторна 56: Доступ між namespace через NetworkPolicy

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

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

Тема: Multi namespace логіка з network policy

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

Мета: навчитися обмежувати трафік між namespace щоб команди не заважали одна одній.



Крок 1. Створити два namespace team-a і team-b.

Команди: kubectl create namespace team-a; kubectl create namespace team-b

Пояснення: кожен namespace буде окремим середовищем.



Крок 2. Розгорнути однаковий сервіс у кожному namespace.

Пояснення: простий nginx deployment і service web у team-a і team-b.



Крок 3. Перевірити що pod з team-a може ходити у web.team-b.

Пояснення: запусти тестовий pod у team-a і зроби curl на повне dns імя сервісу у team-b.



Крок 4. Створити базову networkpolicy у team-b яка забороняє весь вхідний трафік.

Yaml: policy з podSelector match all і порожніми ingress правилами.

Пояснення: тепер ніхто не зможе підключитися до pod у team-b.



Крок 5. Перевірити що запити з team-a більше не проходять.

Пояснення: повтори curl з pod team-a.



Крок 6. Додати правило яке дозволяє доступ тільки з pod team-b.

Пояснення: у policy додай from з namespaceSelector для team-b.



Крок 7. Оновити policy і сказати тест.

Пояснення: pod у team-b має бачити web у team-b а pod з team-a ні.



Крок 8. Додати окрему policy яка дозволяє доступ з сервісів моніторингу.

Пояснення: тут можна використати label у namespace prometheus або іншого інструмента.



Крок 9. Перевірити фінальну схему доступу.

Пояснення: чітко задокументуй хто може звертатися до сервісу у team-b.



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

Завдання: опиши як ти стандартизуватимеш networkpolicy для усіх namespace у кластері.