Kyverno Cheatsheet

Kyverno CheatsheetKapitel 02 von 11

Kyverno Policy-Typen

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

CEL-Typen: policies.kyverno.io/v1

Seit 1.17 stable (v1): ValidatingPolicy, MutatingPolicy, GeneratingPolicy, DeletingPolicy, ImageValidatingPolicy, dazu PolicyException. Jeder Policy-Typ auch namespaced (NamespacedValidatingPolicy usw.). Ein CR pro Zweck, CEL statt JMESPath/Pattern; seit 1.19 Feature-Parität zu ClusterPolicy.

Storage-Version bleibt bis 1.19 v1beta1, mit 1.20 v1: danach gespeicherte Objekte per kyverno migrate umschreiben. v1alpha1 ist deprecated, Manifeste auf v1 heben.

Legacy: ClusterPolicy / Policy

kyverno.io/v1: validate-, mutate-, generate- und verifyImages-Regeln in einem CR. ClusterPolicy cluster-weit, Policy namespaced.

Deprecated: abgekündigt mit 1.17, offiziell seit 1.19 (Admission-Warnung beim Anlegen/Ändern). 1.19 ist das letzte Release mit vollem Support, Removal mit 1.20 (geschätzt Nov 2026), zusammen mit (Cluster)CleanupPolicy und der Legacy-PolicyException kyverno.io/v2. Bestand nach Migrations-Guide umziehen.

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata: {name: require-ns-purpose-label}
spec:
  rules:
    - name: require-ns-purpose-label
      match:
        any:
        - resources: {kinds: [Namespace]}
      validate:
        failureAction: Enforce   # oder Audit
        message: "Label `purpose` ist Pflicht."
        pattern:
          metadata:
            labels:
              purpose: production