Kyverno Cheatsheet

Kyverno CheatsheetKapitel 04 von 11

Kyverno Mutieren und Generieren

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

MutatingPolicy

patchType: ApplyConfiguration (Server-Side-Apply-Merge) oder JSONPatch.

Bestandsressourcen: spec.evaluation.mutateExisting.enabled: true, der Background-Controller mutiert dann bereits existierende Objekte. Trigger und Ziel trennen per targetMatchConstraints (seit 1.17 auch als CEL-expression); ein Trigger mutiert alle passenden Ziele.

apiVersion: policies.kyverno.io/v1
kind: MutatingPolicy
metadata: {name: add-label}
spec:
  matchConstraints:
    resourceRules:
      - apiGroups: [""]
        apiVersions: [v1]
        operations: [CREATE]
        resources: [pods]
  mutations:
    - patchType: ApplyConfiguration
      applyConfiguration:
        expression: >
          Object{metadata: Object.metadata{
            labels: Object.metadata.labels{
              team: "platform"}}}

GeneratingPolicy

Erzeugt oder klont Ressourcen auf Trigger, Klassiker: Default-NetworkPolicy oder ResourceQuota bei jedem neuen Namespace. Seit 1.19 auch als YAML: generate[].template.value, mit interpolate: cel für (( ... ))-Platzhalter, und useServerSideApply: true für SSA. Läuft über UpdateRequests des Background-Controllers.