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 nodesHä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 RegistryCrashLoopBackOff
BASH
# Problem: Container startet und stürzt ab
kubectl logs <pod-name> --previous
# Häufige Ursachen:
# - Fehlende Umgebungsvariablen
# - Falsche Konfiguration
# - Anwendungsfehler
# - Resource-Limits zu niedrigPending 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ügbarDebugging-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-EventsNützliche Tools
| Tool | Verwendung |
|---|---|
| k9s | Terminal-UI für Kubernetes |
| stern | Multi-Pod Log-Tailing |
| kubectx/kubens | Schneller Kontext-Wechsel |
| lens | Desktop-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 --rmPraktische Übung
- Erstelle absichtlich einen Pod mit falschem Image-Namen
- Analysiere den ImagePullBackOff-Fehler
- Erstelle einen Pod, der beim Start abstürzt
- Finde die Fehlerursache in den Logs
- Nutze
kubectl execum 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