So rufen Sie mit Kubectl Protokolle von allen Pods ab

So Rufen Sie Mit Kubectl Protokolle Von Allen Pods Ab



Pods sind kleinere Einheiten und Kernkomponenten des Kubernetes-Clusters. Diese Pods kapseln containerisierte Anwendungen zusammen mit gemeinsam genutzten Volumes. Jeder Pod kann mehr als einen Container innerhalb des Pods ausführen und verwalten. Die Pods werden innerhalb der Worker-Knoten bereitgestellt und jeder Worker-Knoten kann mehr als einen Pod verwalten.

Manchmal kann es vorkommen, dass der Benutzer mit Pod-Status wie „Fehler“, „Fehler“ oder „Unbekannter Status“ konfrontiert wird. Um den Pod zu debuggen oder die im Pod ausgeführte Anwendung zu überwachen, muss der Benutzer möglicherweise die Protokolle des Pods anzeigen.

Dieser Beitrag erklärt:







Wie erhalte ich Protokolle eines einzelnen Pods?

Die Pods können als separate Komponente im Kubernetes-Cluster ausgeführt oder durch die Kubernetes-Bereitstellung verwaltet und betrieben werden. Bei Pods, auf denen separate Containeranwendungen ausgeführt werden und die nicht Teil einer Bereitstellung sind, können die Protokolle dieser Pods nur einzeln überprüft werden. Um die Protokolle eines einzelnen Pods zu überprüfen, führen Sie die folgenden Schritte aus.



Schritt 1: Pods besorgen

Um Kubernetes-Pods aufzulisten, verwenden Sie „ kubectl holt Pods ” Befehle:



kubectl holt Pods

Aus der folgenden Ausgabe können Sie sehen, dass derzeit fünf Pods ausgeführt werden: „ Demo-Pod ” läuft und hat nur einen Container. Die nächsten drei Pods sind Teil von „ HTML-Bereitstellung ', und der letzte ' Web-App „Pod führt zwei Container aus:





Schritt 2: Protokolle eines einzelnen Pods anzeigen

Um die Protokolle eines einzelnen Pods abzurufen, verwenden Sie „ kubectl protokolliert ' Befehl:



kubectl protokolliert den Demo-Pod

Wie erhalte ich Pod-Protokolle vom Ende?

Normalerweise sind die Protokolle länger und können Hunderte von Zeilen enthalten. Manchmal möchten Benutzer Pods von bestimmten Punkten oder bis zu einer bestimmten Anzahl von Protokollen anzeigen. Um eine bestimmte Anzahl von Protokollen vom Ende aus anzuzeigen, verwenden Sie den folgenden Befehl:

kubectl protokolliert den Demo-Pod --Schwanz 2

Hier das ' -Schwanz Die Option „wird verwendet, um das Protokoll vom Ende aus anzuzeigen.

Wie erhalte ich Protokolle bestimmter Pod-Container?

Der einzelne Kubernetes-Pod kann einen oder mehrere Container ausführen. Um auf das Protokoll eines Pod-Containers zuzugreifen, befolgen Sie die folgenden Anweisungen.

Schritt 1: Pods besorgen

Um die Pods des Kubernetes-Clusters aufzulisten, verwenden Sie „ kubectl holt Pods ' Befehl:

kubectl holt Pods

Hier das ' Web-App ” führt mehr als einen Container aus:

Notiz: Manchmal erinnert sich der Benutzer möglicherweise nicht an die Namen der im Pod ausgeführten Container. Um die Behälterdetails im Inneren des Pods zu überprüfen, inspizieren Sie den Pod durch das „ kubectl beschreibt Pod ' Befehl:

kubectl beschreibt die Pod-Web-App

Schritt 2: Protokolle des Containers anzeigen

Um die Protokolle des jeweiligen Pod-Containers abzurufen, verwenden Sie den Befehl „kubectl logs -c “. Hier wird die Option „-c“ verwendet, um den Containernamen einzubetten:

kubectl protokolliert die Web-App -C Fortsetzung1

Wie erhalte ich Protokolle aller Pod-Container?

Um Protokolle aller Container des Kubernetes-Pods anzuzeigen, legen Sie das „ –alle-Container „Wert als“ WAHR ' im ' kubectl-Protokolle ' Befehl:

kubectl protokolliert die Web-App --all-container = WAHR

Wie erhalte ich Bereitstellungsprotokolle in Kubernetes?

Bereitstellungen sind weitere zentrale Kubernetes-Ressourcen, die die Containeranwendung innerhalb der Pods ausführen. Das Deployment verwaltet und betreibt die laufenden Pods mithilfe von Replikaten. Um die Bereitstellungsprotokolle anzuzeigen, führen Sie die unten aufgeführten Schritte aus.

Schritt 1: Holen Sie sich alle Kubernetes-Ressourcen

Um alle Ressourcen von Kubernetes aufzulisten, verwenden Sie den Befehl „kubectl get all“:

kubectl bekommt alles

Hier können Sie sehen, dass drei Pods unter der Bereitstellung „html-deployment“ ausgeführt werden:

Schritt 2: Bereitstellungsprotokolle anzeigen

Um die Protokolle der Kubernetes-Bereitstellung abzurufen, verwenden Sie „ kubectl protokolliert die Bereitstellung/ ' Befehl:

Kubectl-Protokollbereitstellung / HTML-Bereitstellung

Die Ausgabe zeigt, dass drei Pods in „html-deployment“ gefunden werden und derzeit nur die Protokolle des ersten Pods angezeigt werden:

Wie erhalte ich Protokolle aller Pods der Kubernetes-Bereitstellung?

Im obigen Fall werden nicht die Protokolle aller Bereitstellungs-Pods angezeigt. Um die Protokolle aller Pods einer Kubernetes-Bereitstellung anzuzeigen, ermitteln Sie zunächst die Bezeichnung der Pods. Greifen Sie dann auf die Protokolle aller Pods zu, indem Sie die Pod-Bezeichnung angeben. Gehen Sie zur Demonstration die folgenden Anweisungen durch.

Schritt 1: Pods besorgen

Greifen Sie mit der Option „–show-label“ im Befehl „kubectl get pods“ auf die Kubernetes-Pods zusammen mit ihren Beschriftungen zu:

kubectl holt Pods --show-label

Hier zeigt das folgende Ergebnis die Pods zusammen mit den Beschriftungen. Diese Pods haben dieselbe Bezeichnung, da sie unter derselben Bereitstellung ausgeführt werden:

Schritt 2: Protokolle aller Bereitstellungs-Pods anzeigen

Sehen Sie sich nun die Protokolle aller Bereitstellungs-Pods anhand der Pod-Beschriftung an. Verwenden Sie dazu den Befehl „kubectl logs -l

kubectl-Protokolle -l App =nginx --all-container

Live-Ansicht der Protokolle von Pods

Um die Protokolle während der Ausführung der Kubernetes-Pods live anzuzeigen, verwenden Sie die Option „-f“ zusammen mit dem Befehl „kubectl logs“:

kubectl-Protokolle -l App =nginx -F

Hier wird die Option „-l“ verwendet, um die Pod-Bezeichnung anzugeben, und die Option „–all-containers“ zeigt die Protokolle aller Container an, die unter den Pods ausgeführt werden:

Dabei geht es darum, Protokolle aller Pods mit kubectl anzuzeigen.

Abschluss

In Kubernetes kann der Benutzer die Protokolle aller Pods anzeigen, die unter der Bereitstellung ausgeführt werden. Um die Protokolle eines einzelnen Pods abzurufen, verwenden Sie den Befehl „kubectl logs “. Um die Protokolle eines bestimmten Pod-Containers abzurufen, verwenden Sie den Befehl „kubectl logs -c “. Um die Protokolle aller Pods der Kubernetes-Bereitstellung anzuzeigen, verwenden Sie den Befehl „kubectl logs -l “. In diesem Blog wurden die Techniken zum Abrufen von Protokollen von allen Pods mithilfe von kubectl veranschaulicht.