0Pricing
Kubernetes Basics · Lektion

Pods und Services debuggen

Nutzen Sie kubectl-Befehle und weitere Tools, um fehlerhafte Pods und Verbindungsprobleme effektiv zu debuggen.

Pods und Services debuggen ist eine kostenlose Kubernetes Basics-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kubernetes Basics-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.

Warum Debugging wichtig ist

Wenn sich Ihre Anwendungen in Kubernetes nicht erwartungsgemäß verhalten, ist Debugging Ihr wichtigstes Werkzeug! Es hilft Ihnen zu verstehen, was schiefgelaufen ist und wie Sie das Problem beheben können.

Häufige Anzeichen für Probleme sind:

  • Pods, die im Zustand „Pending“ oder „CrashLoopBackOff“ feststecken.
  • Nicht erreichbare Services.
  • Anwendungen, die nicht wie erwartet reagieren.

Wir lernen die wichtigsten Werkzeuge zur Diagnose dieser Probleme kennen.

Ihr kubectl-Debugging-Kit

Kubernetes stellt leistungsfähige Befehlszeilenwerkzeuge bereit, insbesondere kubectl, mit denen Sie Ihren Cluster untersuchen und Fehler beheben können.

Zu den wichtigsten Befehlen, die wir heute behandeln, gehören:

  • kubectl describe: Detaillierte Informationen zu Ressourcen abrufen.
  • kubectl logs: Die Ausgabe von Containern anzeigen.
  • kubectl exec: Befehle in Containern ausführen.
  • kubectl port-forward: Lokal auf Services zugreifen.

Wenn Sie diese Befehle sicher beherrschen, werden Sie zum Profi für Kubernetes-Debugging!

Mit kubectl describe ins Detail gehen

Der Befehl kubectl describe ist Ihre erste Anlaufstelle für detaillierte Informationen zu jeder Kubernetes-Ressource, insbesondere zu Pods.

Er liefert eine Fülle von Daten, darunter Events, Status, IP-Adressen, Volumes und Containerdetails. Suchen Sie am Ende nach „Events“, um Hinweise zu finden!

kubectl describe pod my-nginx-pod

Cluster-Events verstehen

Events sind entscheidend, um zu verstehen, was mit Ihren Pods oder anderen Ressourcen passiert ist. Sie erzählen die Geschichte von Erstellung, Scheduling, Fehlern und mehr.

Mit describe können Sie Events für eine bestimmte Ressource anzeigen oder mit kubectl get events clusterweite Events abrufen.

kubectl get events --sort-by='.lastTimestamp'

Container-Logs entschlüsseln

Anwendungen geben wichtige Meldungen, Fehler und Debugging-Informationen normalerweise über ihre Standardausgabe- und Standardfehlerströme aus. Mit kubectl logs können Sie auf diese zugreifen.

Wenn ein Pod abstürzt, ist die Überprüfung seiner Logs entscheidend, um zu verstehen, warum der Absturz auftritt. Sie können die Logs auch in Echtzeit verfolgen.

kubectl logs my-app-pod -f

Befehle in Containern ausführen

Manchmal reichen Logs allein nicht aus. Möglicherweise müssen Sie Befehle innerhalb eines laufenden Containers ausführen, um Probleme zu diagnostizieren – ähnlich wie bei einer SSH-Verbindung zu einem Server.

Mit kubectl exec können Sie Befehle ausführen oder sogar direkt in einem Container eine Shell wie bash oder sh öffnen.

kubectl exec -it my-app-pod -- /bin/bash

Lokaler Zugriff mit Port-Forwarding

Wenn Sie vermuten, dass ein Service nicht erreichbar ist, oder ihn lokal testen möchten, ohne ihn nach außen freizugeben, ist kubectl port-forward das richtige Werkzeug.

Der Befehl erstellt einen sicheren Tunnel von Ihrem lokalen Rechner zu einem Pod oder Service im Cluster, sodass Sie über localhost darauf zugreifen können.

kubectl port-forward service/my-web-service 8080:80

Service-Probleme diagnostizieren

Wenn Ihre Anwendung über ihren Service nicht erreichbar ist, sollten Sie zwei Dinge überprüfen:

  • Service-Selector: Stimmt er korrekt mit den Labels Ihrer Pods überein?
  • Endpoints: Verfügt der Service über aktive Endpoints (also laufende Pods)?

Verwenden Sie kubectl get svc und kubectl get ep, um diese zu untersuchen.

kubectl get svc my-web-service
kubectl get ep my-web-service

Häufige Probleme angehen

Sehen wir uns zwei häufige Pod-Probleme an:

  • CrashLoopBackOff: Der Container wird wiederholt gestartet und stürzt wieder ab. Überprüfen Sie kubectl logs auf Fehler.
  • ImagePullBackOff: Kubernetes kann das Container-Image nicht abrufen. Überprüfen Sie Image-Name, -Tag und den Zugriff auf die Registry.

kubectl describe pod zeigt die ursprüngliche Ursache häufig im Abschnitt „Events“.

Debugging-Herausforderung!

Sie stellen fest, dass sich ein Pod namens data-processor-xyz im Zustand CrashLoopBackOff befindet. Sie müssen untersuchen, warum er abstürzt.

Welche der folgenden zwei Befehle sind für die Diagnose der unmittelbaren Ursache zuerst am wichtigsten?

Rückblick: Debugging souverän beherrschen

Sehr gut! Sie haben gelernt, wie Sie wichtige kubectl-Befehle zum Debuggen von Pods und Services verwenden:

  • kubectl describe für detaillierte Ressourceninformationen und Events.
  • kubectl logs, um zu sehen, was in Containern passiert.
  • kubectl exec für die interaktive Fehlerbehebung.
  • kubectl port-forward für den lokalen Zugriff auf Services.

Diese Werkzeuge sind unerlässlich, damit Ihre Kubernetes-Anwendungen reibungslos laufen. Üben Sie weiter!

Häufig gestellte Fragen

Ist die Lektion „Pods und Services debuggen“ kostenlos?

Ja — der vollständige Text von „Pods und Services debuggen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kubernetes Basics-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Pods und Services debuggen“?

Nutzen Sie kubectl-Befehle und weitere Tools, um fehlerhafte Pods und Verbindungsprobleme effektiv zu debuggen. Du übst Kubernetes Basics mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kubernetes Basics zu starten?

Keine Vorkenntnisse erforderlich. Kubernetes Basics auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Pods und Services debuggen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kubernetes Basics-Lektion Code schreiben und ausführen?

Ja. Jede Kubernetes Basics-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Häufige Probleme diagnostizieren
  2. Pods und Services debuggen
  3. Best Practices und Tipps für die Produktion
  4. Ressourcenkontingente und Limit Ranges
← Zurück zu Kubernetes Basics