Vier Controller, eine Policy-Engine
Admission-Controller (Pflicht): nimmt die Webhook-Callbacks des API-Servers an, führt validate/mutate aus, prüft PolicyExceptions.
Background-Controller: generate- und mutate-existing-Regeln auf Bestandsressourcen (reconciled UpdateRequests). Reports-Controller: erzeugt und pflegt PolicyReports. Cleanup-Controller: löscht Ressourcen nach Zeitplan.
Kyverno gehört in einen dedizierten
Namespace, nie nach kube-system.
CNCF-Graduated-Projekt (seit März 2026).
Dynamische Webhooks
Kyverno generiert seine Validating-/MutatingWebhookConfigurations selbst aus den match-Blöcken der installierten Policies, nur gematchte Ressourcen erzeugen überhaupt Admission-Calls.
Zertifikate: self-signed, automatische Rotation (CA 1 Jahr, TLS 150 Tage, Renewal ca. 15 Tage vor Ablauf). HA: 3 Replicas für den Admission-Controller; mehr Replicas bedeutet nicht bei jedem Controller mehr Durchsatz.
helm repo add kyverno https://kyverno.github.io/kyverno/ helm install kyverno kyverno/kyverno \ -n kyverno --create-namespace kubectl -n kyverno get deploy # 4 Controller kubectl get validatingwebhookconfigurations | grep kyverno