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.
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.