2.6 KiB
2.6 KiB
Урок 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 ──► удаляет по расписанию
Задание
- Изучите официальную документацию
- Просмотрите готовые политики на kyverno.io/policies
- Подготовьте кластер для следующего урока:
# Локально через kind kind create cluster --name kyverno-lab # Или minikube minikube start --memory=4096 --cpus=2