Die fünf häufigsten Fehlerbilder — und der schnellste Weg zur Ursache.
Du kennst die Diagnose-Leiter (Lektion 2): get → describe → logs.
Jetzt lernst du, was die Befunde bedeuten — eine Landkarte der typischen Krankheiten.
| Symptom | Ursache meist | Schnellster Check |
|---|---|---|
| ImagePullBackOff | Image-Name/Tag falsch oder Registry-Login fehlt | describe → Events |
| CrashLoopBackOff | App startet, stürzt dann ab | logs --previous |
| Pending | kein Node-Platz / unerfüllbare Requests / Volume fehlt | describe → Events |
| OOMKilled | Memory-Limit zu klein / Leak | describe → „Last State“ |
| 0/1 Running, nie ready | Readiness-Probe schlägt fehl | describe → Conditions/Probe |
„Image-Probleme stehen in den Events, App-Probleme stehen in den Logs.“
Kommt der Pod gar nicht erst hoch → describe. Kommt er hoch und fällt um → logs.
# Shell im laufenden Container (z.B. DNS/Dateien prüfen)
kubectl exec -it -n lernen deploy/web -- sh
# Einzelnen Befehl ausführen, ohne Shell
kubectl exec -n lernen deploy/web -- cat /etc/resolv.conf
# App testen, ohne sie nach außen zu öffnen
kubectl port-forward -n lernen svc/web 8080:80
Schlanke Images (z. B. distroless) haben keine sh. Dann hängst du einen
Ephemeral Debug Container mit Werkzeugen daneben — ohne den Pod neu zu starten:
kubectl debug -it -n lernen <pod> --image=busybox --target=web
kubectl debug verändert die laufende App nicht — es fügt nur einen temporären Helfer-Container hinzu,
der mit verschwindet. Ideal für „warum erreicht der Pod den Service nicht?“.
# Alle jüngsten Events, chronologisch (oft die schnellste Spur)
kubectl get events -A --sort-by=.lastTimestamp | tail -20
# Ressourcen-Hunger (Node/Pod) — braucht metrics-server
kubectl top nodes
kubectl top pods -n lernen
Pod nicht "Running"?
├─ Pending → describe: Scheduling/Requests/Volume
├─ ImagePullBackOff → describe: Image-Name/Tag/Registry
└─ ContainerCreating(dauerhaft) → describe: Volume/Secret-Mount
Pod "Running" aber Probleme?
├─ CrashLoopBackOff → logs --previous
├─ 0/1 ready → describe: Readiness-Probe
└─ OOMKilled → describe "Last State" → Limit erhöhen
ImagePullBackOff — wo findest du die Ursache am schnellsten?distroless und hat keine Shell. Was tust du?OOMKilled. Was ist die typische Ursache?kubectl top genau?“