Kubernetes-Gesundheitscheck
Eine Einführung in Gesundheitschecks mit Kubernetes für .
Übersicht
HEALTHCHECK --interval=5s --timeout=5s --start-period=10s --retries=20 CMD "${BIN_DIR}
WCCILpmon" -config ${OAPROJ}config/config -status || exit 1
Sie finden ein Beispiel für eine Gesundheitsprüfung für WinCC OA, die in Docker (oder Kubernetes) ausgeführt wird. Die Dateien befinden sich in wincc_oa_path/data/containerization/examples/kubernetes/healthProbes.
Wie funktioniert der Gesundheitscheck mit WinCC OA
Um Kubernetes in die Lage zu versetzen, den Gesundheitsstatus von WinCC OA-Komponenten/Containern zu überwachen, können Sie das mitgelieferte Skript verwenden:
liveness.sh
Kubernetes führt liveness.sh direkt innerhalb des Containers aus, um einen Liveness-Test durchzuführen.
WCCILpmon -config $OAPROJ/config/config -command MGRLIST:STATI -log +stdout
Bitte stellen Sie sicher, dass die Umgebungsvariablen $OAINST und $OAPROJ_NAME in Ihren Containern gesetzt sind, oder passen Sie das Skript Ihren speziellen Bedürfnissen an. Die folgende Logik wird verwendet, um den Gesundheitszustand des WinCC OA zur Laufzeit zu bewerten:
Standby- und Startup-Tests können deaktiviert werden (oder entsprechend Ihren eigenen Anforderungen implementiert werden). Die Startup-Tests sind nicht erforderlich, da keine inkonsistenten Startzeiten der WinCC OA-Laufzeit erwartet werden. Nachfolgend finden Sie ein Konfigurationsbeispiel:
- Warten auf initialDelaySeconds
- Bereitschaftsprüfung durchführen und timeoutSeconds auf ein Timeout warten
-
Wenn die Anzahl der fortgesetzten Erfolge größer als successThreshold ist, Erfolg zurückgeben
Oder
Wenn die Anzahl der fortgesetzten Fehlschläge größer ist als failureThreshold, wird failure zurückgegeben
andernfalls wird periodSeconds gewartet und eine neue Bereitschaftsprüfung gestartet.