wie man in kubectl log

wie man in kubectl log
Für die Containerorchestrierung ist Kubernetes nun zum Industriestandard geworden. Es bietet die erforderliche Abstraktion für die erfolgreiche Verabreichung von groß angelegten Containersystemen mit klaren Konfigurationen, einer einfachen Bereitstellungsmethode und Skalierbarkeitsfähigkeiten. Wie jedes andere System ermöglichen Protokolle Entwicklern, sich in Containern und den Kubernetes -Clustern zu befassen, auf denen sie arbeiten, und ihre Bedeutung ist in vielen Kubernetes -Fehlern klar. Kubernetes präsentiert jedoch eine Reihe von Protokollierungsproblemen. Anwendungsprotokolle können Sie dabei unterstützen, herauszufinden, was in Ihrer App vor sich geht. Die Protokolle sind sehr hilfreich für die Fehlerbehebung und Verfolgung von Clusteraktivitäten. In fast allen aktuellen Programmen ist eine Protokollierungsfunktion vorhanden. Auch Containermotoren sind für die Protokollierung erstellt. Die Veröffentlichung in Standardausgabemöglichkeiten und Standardfehlerströmen ist die einfachste und am häufigsten verwendete Protokollierungsoption für Containeranwendungen. Diese Protokolle zeigen Ihnen, was passiert und können nützlich sein, um Master -Knotenprobleme zu debuggen. Leider können diese Protokolle nicht über den Kubectl -Befehl angezeigt werden. Stattdessen müssen sie direkt vom Computer vom Computer betrachtet werden. Möglicherweise müssen Sie direkt in den Knoten in den Knoten stehen, basierend darauf, wo Sie den Computer hosten. Dieses Verständnis ermöglicht es Ihnen, die Beziehungen zwischen diesen Ressourcen und den Folgen einer Handlung auf einer anderen zu beobachten. In diesem Handbuch prüfen wir verschiedene Möglichkeiten für Schwanzprotokolle in Kubectl. Um diesen ganzen Prozess auszuführen, verwenden wir Ubuntu 20.04 LTS. Wir haben den Minikube -Cluster installiert und gestartet. Außerdem ist Kubectl bereits in unserem System installiert und konfiguriert.

Grundlegende Protokollierung in Kubernetes mit Pods

Zunächst müssen wir mit Hilfe des Befehls „Touch“ eine Konfigurationsdatei für Pods erstellen. Wir haben es „Protokolle benannt.yaml ”.

Bei der Ausführung ist die Datei im Heimverzeichnis des Systems zu sehen.

Die Protokolle eines Betriebsschotens sind bei weitem das Normalste, was Sie gerne sehen möchten. Der Befehl kubectl enthält einen Protokollbetrieb, der Einblick in Ihre Betriebskräfte bietet und verschiedene Möglichkeiten bietet, um schnell das zu erhalten, was Sie brauchen. In den folgenden Abbildungen werde ich einen Basisbehälter verwenden, der jede Sekunde einen Zeitstempel druckt. Wir haben es als „Beispiel“ benannt (in Zeile Nr. 7 angezeigt)

Verwenden Sie den folgenden Befehl, um diesen POD zu starten:

$ kubectl erstellen -f -Protokolle.Yaml

Die Ausgabe zeigt, dass er effektiv erstellt wurde. Zeigen wir einen Blick auf die Protokolle, nachdem wir diesen Pod bereitgestellt haben. Wir können dies tun, indem wir den Befehl kubectl log Beispiel verwenden, der die folgende Ausgabe erzeugen sollte. Sie müssen im Cluster nicht auf Knoten zugreifen, wenn Sie Kubectl verwenden, um Protokolle abzurufen. Kubectl kann die Protokolle einer einzelnen Pod gleichzeitig anzeigen.

Führen Sie nun den folgenden Befehl aus als:

$ kubectl -Protokollbeispiel

Grundlegende Protokollierung in Kubernetes mit Bereitstellungen

Zunächst müssen wir eine Konfigurationsdatei für Bereitstellungen mit Hilfe des Befehls „Touch“ erstellen. Wir haben es als „Bereitschaftslog bezeichnet“ genannt.yaml ”.

Bei der Ausführung ist die Datei im Heimverzeichnis des Systems zu sehen. Das folgende ist der Bereitstellungsdeskriptor:

Verwenden Sie den folgenden Befehl im Ubuntu 20.04 Terminal, um diesen Bereitstellung zu starten:

$ kubectl create -f -Bereitstellungslog.Yaml

Die Ausgabe zeigt, dass er effektiv erstellt wurde. Jeder Pod zeigt nun seinen Namen sowie den Zeitstempel an. Verwenden Sie die Kubectl -Protokoll -Bereitstellung/das Beispiel, um all diese verschiedenen Pods und deren Generierungsprotokolle im Auge zu behalten. Leider wird dies nur einen der Pods wählen. Es gibt jedoch eine Technik, um alle zu untersuchen. Schauen Sie sich den oben genannten Befehl an und führen Sie ihn in Ubuntu 20 aus.04 Terminal:

$ kubectl logs -f -l App = Beispiel

Mit dem Flag „-l“ können Sie Ergebnisse per Etikett filtern. Wir konnten einige unserer Bereitstellungskapseln sehen, weil wir sie mit dem Beispieletikett bezeichnet haben. Das Flag „-F“ zeigt dann die Ausgabe von diesen Schoten ständig an. Wir müssen die Anzahl der Protokolle auf ein Minimum halten, nachdem wir sie erhalten haben. Wenn Sie standardmäßig einen Pod auswählen, wird alles angezeigt. Wenn Sie einen Selektor verwenden, um mehrere Pods auszuwählen, werden nur 10 Zeilen pro POD erzeugt, wie im folgenden Befehl unten gezeigt, der im angehängten Bild angegeben ist.

Wenn Sie eine Auswahl verwenden und mehr Protokolle pro Pod als die letzten zehn wünschen, erhöhen Sie einfach die "-Tail" -Enummer auf die entsprechende Menge an Protokollen. Wenn Sie nur ausgeben, sind die Protokolle des Schotens gruppiert. Es bringt die Ergebnisse nicht zusammen. Führen Sie nun den folgenden Befehl im Terminal aus.

$ kubectl logs -c Beispiel

Das Flag „-c“ gibt an, aus welchem ​​Container die Protokolle erhalten werden sollten. Führen Sie nun den angehängten Befehl angezeigt in der Shell aus.

$ kubectl logs -Timestempel Beispiel

Die Protokollnachrichten stehen häufig am Ende und der Zeitstempel steht am Start, wie Sie aus dem obigen Beispiel sehen können. Dies kann Ihnen dabei helfen. Die Flagge „-timestamp“ auf dem Befehl kubectl präfixiert jeden Datensatz mit einem Zeitstempel.

Abschluss

Insgesamt enthalten Kubernetes -Schwanzprotokolle viele Informationen zu den Gesundheit Ihrer Cluster und der Apps. "Kubectl -Protokolle" eignet sich gut für den Einstieg mit Kubernetes, zeigt jedoch schnell seine Grenzen. Hoffentlich hat Ihnen dieser Leitfaden geholfen, sich mit der Anweisung Kubectl -Protokolle vertraut zu machen und Ihnen bei der Überprüfung der Protokolle im Kubernetes -Cluster zu helfen.