0Pricing
DevOps Bootcamp · Lektion

Logging mit kubectl logs

Greifen Sie direkt aus Ihrem Kubernetes-Cluster mithilfe von kubectl auf Container-Logs zu und analysieren Sie diese.

Logging mit kubectl logs ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 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 DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Warum Logs in Kubernetes wichtig sind

In Kubernetes ist es entscheidend zu verstehen, was Ihre Anwendungen tun. Logs sind wie das Tagebuch Ihrer Anwendung: Sie zeichnen Ereignisse, Fehler und Statusaktualisierungen auf.

Sie sind unverzichtbar für:

  • Debugging: Das Eingrenzen von Problemen, wenn etwas schiefläuft.
  • Monitoring: Das Überwachen des Zustands und der Leistung einer Anwendung.
  • Auditing: Das Nachverfolgen von Aktionen und Änderungen im Laufe der Zeit.

Container-Logs erklärt

Wenn eine containerisierte Anwendung ausgeführt wird, schreibt sie ihre Ausgaben normalerweise in die Streams standard output (stdout) und standard error (stderr). Kubernetes sammelt diese Streams für jeden Container.

Diese Streams werden anschließend über die Kubernetes-API bereitgestellt. Dadurch können Sie einfach auf sie zugreifen, ohne sich per SSH mit Nodes oder einzelnen Containern verbinden zu müssen.

kubectl logs kennenlernen

Der Befehl kubectl logs ist Ihr wichtigstes Werkzeug, um auf die Logs von Containern zuzugreifen, die in Ihren Kubernetes-Pods ausgeführt werden. Er ist unkompliziert und bietet mehrere leistungsfähige Optionen.

Für die einfachste Verwendung geben Sie lediglich den Namen des Pods an, den Sie untersuchen möchten.

Einen Pod erstellen, der Logs erzeugt

Um kubectl logs in Aktion zu sehen, stellen wir uns vor, dass wir einen einfachen Pod bereitgestellt haben, der fortlaufend Meldungen in seine Standardausgabe schreibt. So simulieren wir eine echte Anwendung, die Logs erzeugt.

Hier ist das YAML für einen solchen Pod (Sie würden es mit kubectl apply -f anwenden):

apiVersion: v1
kind: Pod
metadata:
  name: busybox-logger
spec:
  containers:
  - name: busybox-container
    image: busybox
    command: ['sh', '-c', 'while true; do echo "$(date) - Hello from BusyBox"; sleep 5; done']
  restartPolicy: Always

Grundlegende Pod-Logs anzeigen

Sobald Ihr busybox-logger-Pod läuft (prüfen Sie dies mit kubectl get pods), können Sie seine Logs mit dem grundlegenden Befehl kubectl logs abrufen.

Dadurch werden alle bis zu diesem Zeitpunkt aufgezeichneten Logeinträge angezeigt.

kubectl logs busybox-logger

Echtzeit-Logs streamen

Für das Live-Debugging müssen Sie häufig Logs direkt bei ihrem Auftreten sehen, ähnlich wie bei tail -f unter Linux. Das Flag -f bzw. --follow erledigt genau das.

Es streamt kontinuierlich neue Logeinträge aus dem Container.

kubectl logs -f busybox-logger

Logs vorheriger Container anzeigen

Wenn ein Container innerhalb Ihres Pods abstürzt und neu gestartet wird, zeigt kubectl logs standardmäßig die Logs der *aktuell laufenden* Instanz an.

Um die Logs einer *vorherigen*, beendeten Instanz eines Containers anzuzeigen, verwenden Sie das Flag --previous bzw. -p. Das ist äußerst hilfreich, um zu ermitteln, warum ein Container möglicherweise ausgefallen ist.

kubectl logs -p busybox-logger

Logs bestimmter Container anzeigen

Einige Pods können mehrere Container ausführen (z. B. eine Hauptanwendung und einen Sidecar für Logging oder Monitoring). Wenn Ihr Pod mehr als einen Container enthält, müssen Sie mit dem Flag -c bzw. --container angeben, die Logs welchen Containers Sie anzeigen möchten.

kubectl logs my-multi-container-pod -c my-sidecar-container

Logausgabe filtern und begrenzen

Manchmal benötigen Sie nur einen bestimmten Teil der Logs oder lediglich die neuesten Einträge. Sie können kubectl logs mit standardmäßigen Linux-Befehlen kombinieren oder integrierte Flags verwenden:

  • Mit grep filtern: Leiten Sie die Ausgabe an grep weiter, um bestimmte Schlüsselwörter zu finden.
  • Zeilen mit --tail begrenzen: Zeigen Sie nur die letzten N Zeilen der Logs an.
kubectl logs busybox-logger | grep "Hello"
kubectl logs busybox-logger --tail=5

Herausforderung: Log-Befehl

Sie haben einen Pod namens my-app-pod mit zwei Containern: frontend und backend. Der Container backend ist kürzlich abgestürzt und wurde neu gestartet. Sie möchten die Logs der vorherigen Instanz des Containers backend anzeigen.

Zusammenfassung: Logs und Debugging

Glückwunsch! Sie haben die Grundlagen für den Zugriff auf und die Analyse von Container-Logs mit kubectl logs gelernt. Dieser leistungsstarke Befehl ist unverzichtbar, um Ihre in Kubernetes laufenden Anwendungen zu verstehen und Probleme zu beheben.

Wichtige Befehle zum Merken:

  • kubectl logs <pod-name>: Grundlegendes Abrufen von Logs.
  • kubectl logs -f <pod-name>: Logs in Echtzeit streamen.
  • kubectl logs -p <pod-name>: Logs einer vorherigen Containerinstanz anzeigen.
  • kubectl logs -c <container> <pod-name>: Logs eines bestimmten Containers anzeigen.

Häufig gestellte Fragen

Ist die Lektion „Logging mit kubectl logs“ kostenlos?

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

Was lerne ich in „Logging mit kubectl logs“?

Greifen Sie direkt aus Ihrem Kubernetes-Cluster mithilfe von kubectl auf Container-Logs zu und analysieren Sie diese. Du übst DevOps Bootcamp 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 DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp 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 1 von 4.

Wie lange dauert die Lektion „Logging mit kubectl logs“?

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 DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-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. Logging mit kubectl logs
  2. Metriken mit Prometheus und Grafana
  3. Health Checks: Liveness- und Readiness-Probes
  4. Verteiltes Tracing und Events
← Zurück zu DevOps Bootcamp