Kubernetes Startup -Sonden

Kubernetes Startup -Sonden

Dieser Artikel konzentriert sich auf Startup -Sonden. Die Rolle der Startup -Sonde kann andere Sonden nacheinander ausschließen. Es ist wichtig, die Startsonden neben den Sonden und Bereitschaftssonden zusätzlich zu verwenden. Die Arbeitsbelastung kann nicht durch die Startsonde selbst geändert werden. In diesem Artikel werden Sie überprüfen.

Was sind Kubernetes -Sonden?

Sonden werden auch als Gesundheitskontrollen bezeichnet. Sie lassen Ihren Cluster die laufenden Pods (Container) identifizieren, die die Gesundheit einer Anwendung überwachen, und stellen sicher, dass nur die gesunden Schoten den Verkehr dienen.

Anwendungen können aus verschiedenen Gründen unzuverlässig werden, wie z. B. vorübergehender Verbindungsverlust, Konfigurationsfehler und Anwendungsfehler. Entwickler überwachen ihre Anwendungsgesundheit mithilfe von Sonden. Die Sonden helfen den Entwicklern, den Anwendungsstatus, die Ressourcenauslastung und die Fehler kennenzulernen. Es ist einfach, die Anwendungsprobleme, das Ressourcenmanagement und die Organisation von Ressourcen effektiv zu beheben, indem die Anwendungsinformationen überwacht werden.

Sonden werden verwendet, um Folgendes zu erkennen:

    • Container, die noch nicht fortgeschritten sind und den Verkehr nicht dienen können.
    • Behälter, die überladen sind und den zusätzlichen Verkehr nicht bedienen können.
    • Container, die völlig tot sind und keinen Verkehr bedienen.

Was sind die Arten von Kubernetes -Sonden?

Es gibt drei Arten von Kubernetes -Sonden. Diese beinhalten:

Lebendigkeit Sonden

Es ist verantwortlich, den Container neu zu starten, wenn er einen Deadlock erkennt und nicht mehr reagiert.

Bereitschaftssonden

Es wird als Türküste für eingehenden Verkehr angesehen. Diese Sonde ist verantwortlich dafür, dass dieser Pod bereit ist, den Verkehr zu erhalten.

Start -up -Sonden

Es ist verantwortlich für die Anwendung, die im Container bereitgestellt wird. Es zeigt an, ob die Anwendung erfolgreich gestartet wurde.

Was ist eine Start -Sonde?

Kubernetes kann bestimmen, ob Ihre Software, die innerhalb eines Containers in einem Pod ausgeführt wird, ordnungsgemäß mit Startsonden begonnen hat.

Wie Sie in der folgenden Abbildung sehen können, wird die Anwendung innerhalb der Pod

Wichtige Punkte von Startsonden

    • Schützen Sie den langsam starten Container mit Hilfe einer Start-Sonde, die länger startet, um den Start zu erhalten.
    • Deaktivieren Sie die Sonden- und Bereitschaftssonden durch die Start -Sonde, wenn die Antragsstartzeit überschreitet.
    • Die Start -Sonde bietet einen Mechanismus zum Laden großer Daten, konfiguriert und migriert die Dateien.

Voraussetzungen zur Erstellung der Start -Sonde

Vor der Arbeit mit der Start-Sonde sind die Voraussetzungen ein Kubernetes-Cluster mit zwei Knoten, die nicht als Hosts und Kubectl-Befehlssoftware fungieren, die so konfiguriert werden muss, dass sie zwischen Clustern kommunizieren. Wenn Sie keinen Cluster erstellt haben, können Sie mit dem Minikube einen Cluster erstellen. Es gibt andere Kubernetes -Playground -Optionen, die online verfügbar sind, mit denen Sie einen Cluster erstellen können.

Es gibt vier grundlegende Kubernetes -Techniken, die von Startup -Sonden unterstützt werden:

Exec: Führt einen Befehl im Container aus. Der Null -Code zeigt den Erfolg an und die anderen Codes geben einen Fehler an.

Http: Überprüfen Sie die Gesundheit der Anwendung mit dem Befehl Get -Anforderung. Die HTTP-Sonde gilt als gesund, wenn ihre Reaktion im Bereich von [200-399] liegt. Wenn Ihre Anwendung keinen HTTP -Server unterstützt, erstellen Sie Ihren HTTP -Server in Ihrer Anwendung und reagieren Sie auf die Lebendigkeitssonde.

TCP: Kubernetes öffnet die Verbindung zwischen einem bestimmten TCP -Anschluss und einem Container. Wenn die Verbindung erfolgreich ist, akzeptiert sie den Verkehr. Andernfalls erstellt es keine Verbindung. Der TCP -Port funktioniert im Namen von HTTP -Sonden, wenn die HTTP -Sonde nicht funktionieren kann.

GRPC: Bestimmt, ob die Sonde erfolgreich ist, indem eine GRPC -Gesundheitsprüfung an einen Port im Container gesendet wird und die Antwort verwendet.

Das Erfolgskriterium für die Sonde und wie häufig sie verifiziert wird, werden durch einige grundlegende Variablen gesteuert:

initieldelaysseconds: Gibt die Zeitspanne an, die zwischen dem Zeitpunkt, an dem der Container beginnt, und zum ersten Mal, dass die Sonde verwendet wird (Standard: 0, Minimum: 0).

Periodensekunden: Definiert, wie oft die Sonde nach der anfänglichen Verzögerung überprüft wird (Standardeinstellung: 10, Minimum: 1).

TimeOuts -Sekunden: Gibt an, wie lange Sie warten, bis die Sonde abgeschlossen ist, und als fehlgeschlagen zu markieren, nachdem die Zeit überschritten wurde (Standard: 1, Minimum: 1).

failurethreshold: Kubernetes erfordert das Mindestausfall, dass die Sonde als ungesund angesehen wird, wenn sie erfolgreich ist. Der Container wird nur neu gestartet, wenn Wiederholungen ungesund sind (Standardeinstellung: 3, Minimum: 1).

So erstellen Sie eine Start -Sonde

Startsonden werden durchgeführt, indem eine Startupprobe -Disziplin innerhalb der Spezifikation hinzugefügt wird.Container Teil der unterschiedlichen Schoten. Der EXEC -Ansatz wird im Beispiel für ein unkompliziertes Startsonden -Beispiel verwendet, das in der folgenden Zeit angezeigt wird, an der der Befehl im Container ausgeführt wird:


Pfad:/Healthz ist der gesundheitliche Endpunkt der Applicexample-Startup-Probation. Die Failurethreshold: 12 ist die Kubernetes -Versuche, falls die Sonde fehlschlägt. Die Periodensekunden: 12 ist, wie oft die Inspektion durchgeführt wird.

Fügen Sie mit Kubectl den Pod mit dem folgenden Befehl zu Ihrem Cluster hinzu:

> kubectl anwenden -f Start-probe-Beispiel anwenden.YML


Der Behälter beginnt und läuft normal. Sie können dies durch seine Details validieren, die in Kubectl angezeigt werden:

Wie man die langsamen Startbehälter mit Startsonden schützt?

In der folgenden Formel können Sie lange genug finden, um die Worst-Case-Startzeit abzudecken:

> Failurethreshold * Periodensekunden



Die maximale Startzeit für die Anwendung beträgt 3 Minuten (20 * 10 = 200). Sobald die Start -Sonde zum ersten Mal erfolgreich ist. Der Container wird nach 200 Sekunden beendet und unterliegt der Neustartpolitik des Pod, wenn die Start -Sonde niemals erfolgreich ist.

Abschluss

Die Sonden-, Bereitschafts- und Start -Sonden für Ihre Container, die unter Kubernetes -Containern bereitgestellt werden, müssen angemessen konfiguriert werden, wenn Sie einen gesunden Kubernetes -Cluster beibehalten möchten. Dieser Beitrag konzentrierte. Es ist gut, eine Start -Sonde hinzuzufügen, wenn Sie Lebendigkeits- und Bereitschaftssonden verwenden. Andernfalls kann der Behälter neu gestartet werden, bevor er die Initialisierung beendet hat. Dieser Artikel implementiert das grundlegende Konfigurationsaufbau der Startsonde und beschreibt die Parameter, die von Sonden verwendet werden können.