Einführung

Sprechen wir über Kubernetes -Sonden und warum sie in Ihren Bereitstellungen von Bedeutung sind. Bei der Verwaltung von Containeranwendungen mit produktionsbedingten Containern können selbst kleine Optimierungen enorme Vorteile haben.

Ziel, die Bereitstellungszeiten zu verkürzen, Ihre Anwendungen besser auf Skalierungsereignisse zu reagieren und die Gesundheit von Pods zu verwalten, erfordert die Feinabstimmung Ihres Behälter-Lebenszyklusmanagements. Genau aus diesem Grund ist die ordnungsgemäße Konfiguration – und die Implementierung – von Kubernetes -Sonden für jede kritische Bereitstellung von entscheidender Bedeutung. Sie unterstützen Ihren Cluster, intelligente Entscheidungen über Verkehrsrouting, Neustart und Ressourcenzuweisung zu treffen.

Ordnungsgemäß konfigurierte Sonden verbessern Ihre Anwendungszuverlässigkeit dramatisch, reduzieren Sie die Ausfallzeiten für die Bereitstellung und behandeln Sie unerwartete Fehler anmutig. In diesem Artikel werden wir die drei in Kubernetes verfügbaren Sonden untersuchen und wie die Verwendung dieser nebeneinander widerstandsfähigere Systeme konfigurieren.

Schnelle Auffrischung

Es ist wesentlich zu verstehen, was jede Sonde und einige gemeinsame Konfigurationsmuster macht. Jeder von ihnen dient einem bestimmten Zweck im Containerlebenszyklus und erstellen bei gemeinsamer Verwendung ein rock-solides Framework für die Aufrechterhaltung Ihrer Anwendungsverfügbarkeit und -leistung.

Startup: Startzeiten optimieren

Startsonden werden einmal bewertet, wenn ein neuer Pod aufgrund eines Skalierungsereignisses oder eines neuen Bereitstellers angezeigt wird. Es dient als Gatekeeper für den Relaxation der Containerüberprüfungen und die Feinabstimmung hilft Ihren Anwendungen besser, eine erhöhte Final oder den Serviceabbau zu erledigen.

Beispielkonfiguration:

startupProbe:
  httpGet:
    path: /well being
    port: 80
  failureThreshold: 30
  periodSeconds: 10

Key Takeaways:

  • Halten periodSeconds Niedrig, so dass die Sonde häufig einen erfolgreichen Einsatz erfasst.
  • Zunahme failureThreshold zu einem ausreichend hohen Wert, um für die Worst-Case-Startzeit berücksichtigt zu werden.

Die Begin -Sonde prüft, ob Ihr Container mit der Abfrage des konfigurierten Pfades begonnen hat. Es wird zusätzlich Stoppen Sie das Auslösen der Sonden- und Bereitschaftssonden bis es erfolgreich ist.

Lebendigkeit: Erkennen toter Behälter

Ihre Langlebigkeitsuntersuchungen beantworten eine sehr einfache Frage: „Läuft dieser Pod noch richtig?“ Wenn nicht, startet K8s es neu.

Beispielkonfiguration:

livenessProbe:
  httpGet:
    path: /well being
    port: 80
  periodSeconds: 10
  failureThreshold: 3

Key Takeaways:

  • Da K8s Ihren Container vollständig neu starten und eine neue verdreht, fügen Sie a hinzu failureThreshold zeitweilige Anomalien bekämpfen.
  • Verwenden Sie es vermeiden initialDelaySeconds Da es zu restriktiv ist-verwenden Sie stattdessen eine Startsonde.

Achten Sie darauf, dass eine fehlgeschlagene Langlebigkeitssonde Ihren aktuell laufenden Pod senkt und eine neue aufruft. Vermeiden Sie es, sie zu aggressiv zu machen – das ist für die nächste.

Bereitschaft: Umgang mit unerwarteten Fehlern

Die Bereitschaftssonde bestimmt, ob sie beginnen oder weitermachen sollte, um Verkehr zu erhalten. Es ist äußerst nützlich in Situationen, in denen Ihr Container die Verbindung zur Datenbank verloren hat oder ansonsten übermäßig ausgeballt ist und keine neuen Anfragen erhalten sollte.

Beispielkonfiguration:

readinessProbe:
  httpGet:
    path: /well being
    port: 80
  periodSeconds: 3
  failureThreshold: 1
  timeoutSeconds: 1

Key Takeaways:

Bereitschaftssonden stellen sicher, dass der Verkehr nicht einen Container erreicht, der nicht bereit ist, und als solches ist er eines der wichtigsten im Stapel.

Alles zusammenstellen

Wie Sie sehen können, ist der beste Weg, um die Resilienzstrategie Ihrer Anwendung zu verbessern, auch wenn alle Sonden ihre eigenen einzigartigen Verwendungszwecke haben, nebeneinander zu verwenden.

Ihre Begin -Sonde unterstützt Sie in Skala -Up -Szenarien und neuen Bereitstellungen, sodass Ihre Container schnell zur Sprache gebracht werden können. Sie werden nur einmal gefeuert und stoppen auch die Ausführung des Restes der Sonden, bis sie erfolgreich abgeschlossen sind.

Die Lebendigkeitssonde hilft beim Umgang mit toten Containern, die an nicht wiederholbaren Fehlern leiden, und fordert dem Cluster auf, eine neue, frische Schote nur für Sie zu erzählen.

Die Bereitschaftssonde ist diejenige, die K8s sagt, wann ein Pod Verkehr erhalten sollte oder nicht. Es kann äußerst nützlich sein, um mit zeitweiligen Fehlern oder hohem Ressourcenverbrauch umzugehen, was zu langsameren Reaktionszeiten führt.

Zusätzliche Konfigurationen

Sonden können weiter konfiguriert werden, um einen Befehl in den Schecks anstelle einer HTTP -Anforderung zu verwenden und den Container ausreichend Zeit zu geben, um sicher zu enden. Während diese in spezifischeren Szenarien nützlich sind, kann es vorteilhaft sein, zu verstehen, wie Sie Ihre Bereitstellungskonfiguration erweitern können. Ich würde daher empfehlen, zusätzliche Lektüre durchzuführen, wenn Ihre Container eindeutige Anwendungsfälle verarbeiten.

Weitere Lektüre:
Lebendigkeit, Bereitschaft und Startup -Sonden
Konfigurieren Sie Lebendigkeit, Bereitschafts- und Startsonden

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert