Объект нарушает политику Kyverno в режиме аудита
События Kubernetes «PolicyViolation: policy .../... fail: validation error: ...» от Kyverno: объект не соответствует политике, но политика в режиме аудита и его не блокирует. Как увидеть все нарушения в отчётах и перейти к блокировке без аварии.
Что это значит
Kyverno проверяет объекты кластера по политикам. В режиме Audit нарушение не блокирует создание объекта, а записывается в отчёт и в событие PolicyViolation на самом объекте. В тексте события видно имя политики, правило и сообщение, которое задал автор политики.
Это нормальный этап внедрения политик: сначала посмотреть, сколько объектов им не соответствует, и только потом включать блокировку.
Как проверить
kubectl get policyreports -A
kubectl get policyreport -n <namespace> -o yaml | grep -B2 -A8 "result: fail"
kubectl get clusterpolicies
Отчёты показывают все нарушения по пространству имён, а не только последние события.
Что сделать
- Исправить описания приложений под требования политики: обычно это контекст безопасности, лимиты, источник образов.
- Для того, что исправить нельзя, оформить исключение (
PolicyException) с понятным обоснованием. - Переводить политику в
Enforceтолько когда отчёты по ней пусты: иначе при следующем развёртывании поды перестанут создаваться.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать