This commit is contained in:
2026-04-08 20:22:14 +07:00
commit 34fbdd1412
96 changed files with 5321 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
# Урок 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
```