Files
kyverno-2026-example/01-introduction/01-what-is-kyverno/README.md
2026-04-08 20:22:14 +07:00

67 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Урок 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
```