Zum Hauptinhalt springen

Health Probe

Standardmässig gilt in Deploio eine Anwendung als bereit, sobald der Webserver auf seinem Port zu lauschen beginnt. Wenn die Anwendung jedoch noch zusätzliche Startaufgaben benötigt (z. B. Daten laden, Migrationen ausführen), kann es vorkommen, dass Traffic zu früh eintrifft und temporäre Fehler verursacht. Eine benutzerdefinierte Health Probe URL behebt dieses Problem, indem die Plattform Ihre App regelmässig abfragt, bis sie sich selbst als healthy meldet - erst dann wird Traffic an sie weitergeleitet. Diese Probe ist optional. Wenn Sie sie nicht konfigurieren, verwendet die Plattform ihr standardmässiges health-Verhalten.

Was Sie konfigurieren

Wir halten dies bewusst einfach - es gibt nur zwei Felder: Der Parameter --health-probe-period-seconds steuert, wie oft die Plattform die Health Probe gegen Ihre Anwendung ausführt. Er wird in Sekunden angegeben, mit einem Standardwert von 10 und einem minimal zulässigen Wert von 1. Der Parameter --health-probe-path gibt den HTTP-Pfad Ihrer Anwendung an, den die Plattform aufruft, um zu prüfen, ob der Service healthy ist - zum Beispiel /healthz. Zusammen ermöglichen Ihnen diese Flags, festzulegen, wie häufig die health-Prüfung ausgeführt wird und welcher Endpoint verwendet wird, um anzuzeigen, dass die Anwendung bereit ist und ordnungsgemäss funktioniert.

note

Ihre App steuert die Antwort. Während des Starts sollte sie einen nicht-erfolgreichen Status zurückgeben, um anzuzeigen, dass sie noch nicht bereit ist. Sobald die Applikation healthy ist, sollte sie einen erfolgreichen HTTP-Statuscode liefern. Jeder Code grösser oder gleich 200 und kleiner als 400 signalisiert Erfolg. Alle anderen Codes signalisieren einen Fehler.

Weitere Codebeispiele finden Sie im Repository deploio-examples. Zum Beispiel definiert die Beispiel-Go-Anwendung einen /healthz-Endpoint, der als einfache Demonstration einer benutzerdefinierten Health Probe dient.

Eine benutzerdefinierte Health Probe bei der App-Erstellung angeben

Sie können eine Health Probe direkt bei der Erstellung einer Anwendung konfigurieren, indem Sie die entsprechenden flags im Befehl nctl create app verwenden:

nctl create app --health-probe-path="/healthz" --health-probe-period-seconds=9

Eine benutzerdefinierte Health Probe entfernen

Verwenden Sie diesen Befehl, wenn Sie eine zuvor konfigurierte Health Probe entfernen und zum standardmässigen health-Verhalten der Plattform zurückkehren möchten:

nctl update app --delete-health-probe

Eine Health Probe in anderen Konfigurationsebenen angeben

Da Health Probes Teil der Konfiguration einer Deploio-Anwendung sind, können Sie sie auch auf anderen Konfigurationsebenen festlegen. Zum Beispiel können Sie eine Health Probe über die Git-Konfigurationsquelle .deploio.yaml definieren:

healthProbe:
httpGet:
path: /healthz
periodSeconds: 9

Beispiele

Weitere Codebeispiele finden Sie im deploio-examples-Repository. Zum Beispiel definiert die Beispiel-Go-Anwendung einen /healthz-Endpoint, der als einfache Demonstration einer benutzerdefinierten Health Probe dient.