Kyverno - Kubernetes Native Policy Management.



Проект также как и OpenPolicyAgent (OPA) находится под эгидой CNCF, но при этом известен/распиарен куда меньше. OPA мне всегда нравился, но при этом меня смущало в нем необходимость использование/знание Rego (считай еще одного ЯП). Это можно сказать прям ломало Kubernetes Native подход ...



Kyverno же использует для своей работы только YAML и очень прост в работе, если вы можете читать описание ресурсов, то и написать политику для него вам не составит труда!



Если их сравнивать, то OPA, конечно, способен покрыть не только Kubernetes (но нужно ли вам это вообще?) и его язык дает более широкие возможности (переменные, хранилища ресурсов и т.д.) (но я с ходу смог придумать только 1 такой кейс ...).



Но и у Kyverno есть свои фишки можно делать не только операции Validating, но и Mutating и Generating с ресурсами. Конечно, при использование последних двух опять GitOps в пролете, но может быть очень полезно ;) При этом они оба умеют сканировать ресурсы, которые уже работают в системе (у одного это называется Audit у другого Background Scans).



Лично мне ближе Kyverno как минимум тем, что он сохранят единый язык общения между Dev, Ops и Sec командами и они продолжают понимать друг друга. Очень важно, чтобы безопасность не была 'блокером', а прозрачно встраивалась для всех.