Kubectl lösche vertriebene Pods

Kubectl lösche vertriebene Pods
In diesem Beitrag werden wir uns ansehen. Es gibt zahlreiche Erklärungen, warum sich einige Schoten in den vertriebenen Zuständen befinden. Die Räumung wird häufig durch einen Mangel an Ressourcen in den Arbeiterknoten oder durch einen Anwendungsfehler verursacht. Die Beendigung kann als Folge der Skalierung einer Anwendung oder der Bereitstellung einer neuen Version einer Anwendung auftreten, die vorhandene Pods beendet.

Was ist ein vertrauter Pod??

Wenn die Festplatte oder das Speichergrenze eines Knotens erreicht ist, wird ein Flag am Kubernetes -Knoten auf Signal eingestellt, dass es sich unter der Last befindet. Dieses Flag verhindert auch frische Zuordnungen auf diesem Knoten, wodurch ein Räumungsverfahren ausgelöst wird, um einige Ressourcen freizugeben.

Dies ist das Kuberelet für den Unterdruckknoten, der den Räumungsprozess behandelt. Dieser wird fehlgeschlagene Pods erledigen, bis die ausgebauten Ressourcen des Knotens unter den Räumungsschwellenwert liegen. An diesem Punkt beendet das Kuberet alle POD -Container und stellt die Podphase auf fehlgeschlagen.

Wenn eine Bereitstellung für die ausgegebene POD zuständig ist, erstellt der Einsatz eine neue POD, damit Kubernetes planen muss.

Wann werden die Schoten vertrieben??

Diese Unterscheidung hat damit zu tun, wie Kubernetes den Ressourcendruck umgeht. Wenn Knotenressourcen knapp werden, muss Kubernetes Pods räumen. Ein Prozess wird als Knotenpressgeräte bezeichnet. Der Knotenplaner kann eine CPU aufnehmen, die vollständig besetzt ist. Daher ist Räumung nicht notwendig.

Es muss Schoten aus dem Knoten vertreiben und versuchen, sie in einen anderen Knoten zu platzieren, wenn der Speicher nicht ausreicht. Dies wird aufgrund von Speicherbeschränkungen als Räumung bezeichnet. Die Räumung der Knotenpresse kann auch durch einen Mangel an Scheibenraum verursacht werden.

Welche Faktoren berücksichtigen Kubernetes bei der Entscheidung, welche Schoten zu räumen sollen??

Der Knotendruck wird dadurch verursacht, dass Pods auf der Grundlage von Ressourcenbeschränkungen wie dem oben erwähnten Speicher- oder Festplattenraum vertrieben werden, wie oben erwähnt. Pods in einem gescheiterten Zustand sind die ersten, die vertrieben werden, da sie nicht laufen, aber möglicherweise noch Ressourcen konsumieren. Kubernetes untersucht dann die laufenden Pods.

Die Räume des Pod, der das meiste Speicher verwendet. Stattdessen trifft Kubernetes diese Auswahl auf basierend auf zwei verschiedenen Klassen: QoS (Servicequalität) und Priorität.

Was folgt, wenn eine Schote vertrieben wird?

Wenn eine kritische Erkrankung festgestellt wird. Dieses Verfahren „evimiert“ (endet) einen Schoten und die Container, die ihn gebaut haben, aber nicht die Schote selbst. Standardmäßig unterscheidet Kubernetes nicht zwischen hochkritischen und nicht in allen wichtigen Schoten. Es hat nur eine Pflicht, die die Ressourcen zurückerhalten soll.

Die von einer Workload -Ressource oder -E -Bereitstellung verwaltete Workloads produziert automatisch neue Schoten und entfernen vertriebene Pods.

Trotz der Tatsache, dass die vertrauten Pods beendet wurden und keine Ressourcen mehr aus dem Knoten konsumieren sollten, bleiben sie - und Kubernetes verwaltet sie weiterhin. Mit einer zunehmenden Anzahl von vertriebenen Pods kann dies zu einem Anstieg der Anzahl der in der Kubernetes -Administration erforderlichen Ressourcen führen.

Wir werden nun versuchen, herauszufinden, wie man einen vertrauten Pod findet und ihn erfolgreich löscht. Es gibt einige Anforderungen, die zunächst erfüllt werden müssen.

Voraussetzung

Um Befehle zum Löschen von verteilten Pods auszuführen, müssen wir zunächst einen Minikube -Cluster auf unserem PC einrichten. Ubuntu 20.04 wurde verwendet, um die Befehle des Löschens von verteilten Pods in diesem Thema zu implementieren. Wir können auch unser bevorzugtes Betriebssystem dafür nutzen, da wir bereits Kubectl installiert haben. Es muss installiert werden, bevor die Befehle ausgeführt werden können.

Jetzt ist es Zeit, ein Terminal zu starten. Eine Möglichkeit besteht darin, die Anwendungsleiste unseres Betriebssystems zu verwenden, um das Terminal zu erreichen. Eine andere Möglichkeit ist die Verwendung der Tastaturverknüpfung „Strg + Alt + T.Um ein Terminal zu starten, wählen Sie eine dieser Optionen aus. Erstens müssen wir einen Minikube -Cluster booten, der zuvor auf Ubuntu 20 bereitgestellt wurde.04. Jetzt werden wir Minikube starten, indem wir den folgenden Befehl in das Terminal eingeben. Die relevante Ausgabe für die folgende Anweisung ist hier beigefügt.

Wie man einen vertrauten Pod entdeckt?

Um die genaue Anzahl der vertriebenen Pods herauszufinden, führen Sie den folgenden Befehl aus. Dieser Befehl zeigt eine Liste der Pods an, die aus Ihrem System vertrieben wurden. Die relevante Ausgabe für die folgende Anweisung ist hier beigefügt.

Versuchen wir nun eine andere Form desselben Befehls. Wir haben den Befehl zum Ende des Befehls hinzugefügt, wie Sie sehen können. Der Rest der Anweisung ist von der oben genannten nicht zu unterscheiden. Es wird Ihnen sagen, wie viele Pods insgesamt vertrieben wurden. In unserem Szenario gibt es keine verteilten Schoten. Wie Sie in der letzten Zeile des angehängten Screenshots sehen können, gibt der Befehl 0 0 zurück. Die relevante Ausgabe für die folgende Anweisung ist hier beigefügt.

Wenn Ihr System über irgendwelche Pods verfügt, gibt der obige Befehl die Nummer aus, z. B. 10, 3, 9 usw.

Wie können die vertrauten Schoten manuell gereinigt werden??

Wenn Sie nicht warten möchten, bis die Müllsammlungschwelle erfüllt ist, können Sie die Schoten manuell mit Kubectl zerstören. In einer Weile kann jeder identifizierte verteilte Pod unter Verwendung des oben angegebenen Befehls beseitigt werden.

Dieser Befehl kann Ihnen dabei helfen. Die relevante Ausgabe für die folgende Anweisung ist hier beigefügt.

Abschluss

Räumung ist das Verfahren, einen oder sogar mehr als einen Schoten an einem der ressourcengezogenen Knoten absichtlich zu versagen. Wir haben in diesem Tutorial über vertriebene Schoten übergegangen. Wir haben auch diskutiert, wie man in einfachen Schritten eine vertraute Pod löscht. Jetzt können Sie denselben Leitfaden in Ihrem System mit Kubectl implementieren und sehen, wie viele vertriebene Pods in Ihrem System vorhanden sind. Sie können jetzt alle auflisten und die ausgewählten löschen.