kubectl Cheatsheet

kubectl CheatsheetKapitel 03 von 15

kubectl apply, diff und Server-Side Apply

Stand kubectl 1.37 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

diff & dry-run

kubectl diff -f zeigt den Diff gegen den Live-Stand vor dem Apply (Exit-Code 1 = Unterschiede, CI-tauglich).

--dry-run=client sendet keinen Schreib-Request und fängt deshalb keine falschen Feldnamen ab, die Feldvalidierung macht der API-Server; --dry-run=server lässt Admission-Webhooks + Defaulting am API-Server laufen, ohne zu persistieren, das ehrlichere Preflight.

Server-Side Apply, Field-Ownership

apply --server-side (GA seit v1.22) merged am API-Server. Ownership steht pro Feld in metadata.managedFields, jeder Writer trägt einen --field-manager.

Conflict (HTTP 409), wenn ein anderer Manager das Feld hält: --force-conflicts übernimmt die Ownership, bewusst einsetzen, das entzieht dem anderen Controller das Feld.

kubectl diff -f deploy.yaml
kubectl apply -f deploy.yaml --dry-run=server
kubectl apply --server-side --field-manager=ci -f deploy.yaml
kubectl apply --server-side --force-conflicts -f deploy.yaml
kubectl get deploy web --show-managed-fields -o yaml