# Урок 1.1 — Что такое Kyverno и зачем он нужен Этот урок — теоретический. Ниже — сравнительная шпаргалка и ссылки для подготовки к следующим урокам. ## Сравнение: Kyverno vs OPA Gatekeeper | Критерий | Kyverno | OPA Gatekeeper | |----------|---------|----------------| | Язык политик | YAML + JMESPath | Rego | | Порог входа | Низкий | Высокий | | Kubernetes-native | Да | Частично | | Готовых политик | 300+ (kyverno.io/policies) | Много (github.com/open-policy-agent/gatekeeper-library) | | Mutation | Да | Ограниченно | | Generation | Да | Нет | | Image verification | Да (Cosign) | Нет | ## Типы политик ``` ClusterPolicy — кластерный ресурс (все namespace) Policy — namespace-scoped ресурс Операции: validate → проверить ресурс, отклонить при нарушении mutate → изменить ресурс при создании/обновлении generate → создать вспомогательные ресурсы verifyImages → проверить подпись образа ``` ## Архитектура Kyverno ``` kubectl apply -f pod.yaml │ ▼ API Server │ ├──► Mutating Webhook ──► Kyverno (mutate rules) │ │ │ изменённый ресурс │ │ ├──► Validating Webhook ──► Kyverno (validate rules) │ │ │ pass / deny ▼ etcd │ ▼ Background Controller ──► сканирует существующие ресурсы Reports Controller ──► создаёт PolicyReport Generate Controller ──► создаёт вспомогательные ресурсы Cleanup Controller ──► удаляет по расписанию ``` ## Задание 1. Изучите [официальную документацию](https://kyverno.io/docs/) 2. Просмотрите готовые политики на [kyverno.io/policies](https://kyverno.io/policies/) 3. Подготовьте кластер для следующего урока: ```bash # Локально через kind kind create cluster --name kyverno-lab # Или minikube minikube start --memory=4096 --cpus=2 ```