Lektion 8: Troubleshooting Grundlagen

Finde und behebe häufige Probleme in Kubernetes

30 min

Kubernetes Troubleshooting

Effektives Troubleshooting ist eine essenzielle Fähigkeit für jeden Kubernetes-Administrator. Diese Lektion zeigt dir die wichtigsten Techniken.

Die wichtigsten Debug-Befehle

BASH
# Pod-Status und Events
kubectl get pods
kubectl describe pod <pod-name>

# Logs anzeigen
kubectl logs <pod-name>
kubectl logs <pod-name> -c <container-name>  # Multi-Container Pod
kubectl logs <pod-name> --previous  # Vorheriger Container

# In Pod einsteigen
kubectl exec -it <pod-name> -- /bin/sh

# Events im Namespace
kubectl get events --sort-by='.lastTimestamp'

# Resource-Nutzung
kubectl top pods
kubectl top nodes
Click to expand and view more

Häufige Probleme und Lösungen

ImagePullBackOff

BASH
# Problem: Image kann nicht heruntergeladen werden
kubectl describe pod <pod-name> | grep -A5 "Events"

# Lösungen:
# - Image-Name/Tag prüfen
# - Registry-Credentials prüfen
# - Netzwerkzugang zur Registry
Click to expand and view more

CrashLoopBackOff

BASH
# Problem: Container startet und stürzt ab
kubectl logs <pod-name> --previous

# Häufige Ursachen:
# - Fehlende Umgebungsvariablen
# - Falsche Konfiguration
# - Anwendungsfehler
# - Resource-Limits zu niedrig
Click to expand and view more

Pending Pods

BASH
# Problem: Pod bleibt im Pending-Status
kubectl describe pod <pod-name>

# Häufige Ursachen:
# - Nicht genug Resources
# - Node-Selector/Affinity-Probleme
# - PVC nicht verfügbar
Click to expand and view more

Debugging-Workflow

PLAINTEXT
1. kubectl get pods        → Status prüfen
2. kubectl describe pod    → Events und Details
3. kubectl logs           → Anwendungslogs
4. kubectl exec           → Interaktiv debuggen
5. kubectl get events     → Cluster-Events
Click to expand and view more

Nützliche Tools

ToolVerwendung
k9sTerminal-UI für Kubernetes
sternMulti-Pod Log-Tailing
kubectx/kubensSchneller Kontext-Wechsel
lensDesktop-IDE für Kubernetes

Debug-Container

BASH
# Ephemeral Debug-Container (K8s 1.18+)
kubectl debug -it <pod-name> --image=busybox --target=<container-name>

# Debug-Pod im selben Netzwerk
kubectl run debug --image=nicolaka/netshoot -it --rm
Click to expand and view more

Praktische Übung

  1. Erstelle absichtlich einen Pod mit falschem Image-Namen
  2. Analysiere den ImagePullBackOff-Fehler
  3. Erstelle einen Pod, der beim Start abstürzt
  4. Finde die Fehlerursache in den Logs
  5. Nutze kubectl exec um einen laufenden Pod zu debuggen

Kurs abgeschlossen!

Herzlichen Glückwunsch! Du hast die Kubernetes-Grundlagen erfolgreich abgeschlossen. Du kennst jetzt:

  • Die Kubernetes-Architektur
  • Pods, Deployments und Services
  • Konfigurationsmanagement
  • Grundlegende Troubleshooting-Techniken

Nächste Schritte

  • Erkunde unsere Security-Kurse
  • Lerne über Helm und GitOps
  • Baue eigene Projekte mit Kubernetes

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut