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

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

Kubernetes Лабораторна 66: Admission webhook концепція

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

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

Тема: Mutating та validating webhooks

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

Мета: зрозуміти як admission webhook може змінювати та перевіряти pod перед створенням.



Крок 1. Ознайомитися зі структурою ValidatingWebhookConfiguration.

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



Крок 2. Розгорнути простий webhook сервер у кластері.

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



Крок 3. Створити service і endpoint для webhook сервера.

Пояснення: webhook конфігурація посилається на цей service.



Крок 4. Застосувати ValidatingWebhookConfiguration.

Команда: kubectl apply -f validating-webhook.yaml

Пояснення: тепер кожен pod який підпадає під правила буде перевірятися webhook.



Крок 5. Створити pod який має бути дозволений.

Пояснення: закономірний pod без заборонених параметрів.



Крок 6. Створити pod який порушує політику webhook.

Пояснення: наприклад pod без обовязкової label.



Крок 7. Проаналізувати помилку від api сервера.

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



Крок 8. Додати MutatingWebhookConfiguration.

Пояснення: цей webhook буде автоматично додавати label або env якщо їх немає.



Крок 9. Створити pod без label і подивитися кінцевий yaml.

Команда: kubectl get pod <name> -o yaml

Пояснення: переконайся що mutating webhook додав потрібні поля.



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

Завдання: опиши де ти використав би validating і mutating webhook у продакшені.