Kyverno Cheatsheet

Kyverno CheatsheetKapitel 07 von 11

Kyverno PolicyException und Autogen

Stand Kyverno 1.19 · Edition 2026.10 · Release-Daten geprüft am 1. Oktober 2026

PolicyException

Gezielte Ausnahme statt aufgeweichter Policy. CEL: policies.kyverno.io/v1, policyRefs (Name + Kind) plus CEL-matchConditions; images/allowedValues reicht die Exception als exceptions.allowedImages/exceptions.allowedValues in die CEL-Auswertung, expiresAt seit 1.19. Legacy kyverno.io/v2 (Policy + Regeln, Wildcard *): deprecated, Removal mit 1.20.

Default: deaktiviert (Helm features.policyExceptions.enabled). Aktivierung per --enablePolicyException + --exceptionNamespace. Leer wirkt je nach Engine anders: Legacy-Exceptions greifen dann gar nicht, CEL-Exceptions aus allen Namespaces (wie *). Also immer genau einen Namespace setzen, Erstellung per RBAC und GitOps kontrollieren.

ImageValidatingPolicy vor 1.19.1: eine passende Exception ignoriert images/allowedValues und schaltet die Signaturprüfung für die ganze Ressource ab (GHSA-5cjf-wwfg-pj4c). Mindestversion siehe Box „Security: mindestens 1.19.1“.

Autogen für Pod-Controller

Pod-Regeln werden automatisch auf die Pod-Controller ausgeweitet. CEL: Deployment, DaemonSet, StatefulSet, ReplicaSet, Job, CronJob, Auswahl über spec.autogen.podControllers.controllers; seit 1.19.1 auch Workload-CRDs (JobSet, RayJob …) als <resource>.<version>.<group>. Legacy zusätzlich ReplicationController, Annotation pod-policies.kyverno.io/autogen-controllers (none schaltet ab).

Achtung: greift Pod-Controller-Autogen (bei Pod-Policies Default, auch ohne podControllers), erzeugt Kyverno keine native VAP bzw. MAP (Grund im Policy-Status).