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

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

Kubernetes Лабораторна 42: PodSecurity політики на рівні namespace

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

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

Тема: PodSecurity рівні restricted та baseline

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

Мета: навчитися налаштовувати політику podsecurity для namespace та бачити ефект на pod конфігурації.



Крок 1. Створити namespace ps-demo.

Команда: kubectl create namespace ps-demo

Пояснення: у ньому будемо вмикати політику.



Крок 2. Додати лейбли pod-security для режиму baseline.

Команда: kubectl label namespace ps-demo pod-security.kubernetes.io/enforce=baseline pod-security.kubernetes.io/enforce-version=latest

Пояснення: kube контролер почне перевіряти pod цього namespace.



Крок 3. Спробувати створити pod з привілеями.

Команда: kubectl run priv-pod -n ps-demo --image=nginx --overrides=<JSON spec з securityContext.privileged=true>
Пояснення: очікуємо що створення буде заборонене політикою.



Крок 4. Перевірити повідомлення про помилку.

Пояснення: уважно прочитай текст помилки від api сервера, він показує яке правило порушено.



Крок 5. Створити безпечний pod без привілеїв.

Команда: kubectl run safe-pod -n ps-demo --image=nginx

Пояснення: такий pod повинен створитися успішно.



Крок 6. Посилити політику до рівня restricted.

Команда: kubectl label namespace ps-demo pod-security.kubernetes.io/enforce=restricted --overwrite

Пояснення: тепер вимоги до pod стануть більш суворими.



Крок 7. Спробувати створити pod без вказаних ресурсів.

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



Крок 8. Виправити pod згідно рекомендацій.

Пояснення: додай необхідні securityContext параметри та повтори створення.



Крок 9. Переглянути документацію до профілів baseline та restricted у офіційному гайді.

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



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

Завдання: опиши як ти розділиш namespace dev stage та prod за рівнями podsecurity.