Welche Arten von Tests gibt es, um den Zustand von Diensten und Anwendungen zu überprüfen?
sobes.tech KI
Antwort von AI
Es gibt mehrere gängige Arten von Probes:
-
Liveness Probe: Bestimmt, ob die Anwendung läuft. Wenn die Probe fehlschlägt, startet Kubernetes den Pod neu. Wird verwendet, um eingefrorene Prozesse zu erkennen.
- HTTP Get Probes: Senden HTTP GET-Anfragen an den angegebenen Pfad und Port.
- TCP Socket Probes: Überprüfen, ob eine Verbindung zum angegebenen Port hergestellt werden kann.
- Exec Probes: Führen einen Befehl im Container aus und prüfen den Rückgabecode.
-
Readiness Probe: Bestimmt, ob der Pod bereit ist, Traffic zu empfangen. Wenn die Probe fehlschlägt, leitet der Service keinen Traffic an diesen Pod weiter. Wird verwendet, um die Bereitschaft der Anwendung nach dem Start oder während eines Updates zu bestimmen.
- Verwendet die gleichen Mechanismen wie Liveness Probes (HTTP Get, TCP Socket, Exec).
-
Startup Probe: Bestimmt, ob die Initialisierung der Anwendung abgeschlossen ist. Wenn die Probe konfiguriert ist, führt Kubernetes keine Liveness- und Readiness-Probes durch, bis die Startup-Probe erfolgreich ist. Nützlich für langsam startende Anwendungen, um vorzeitige Neustarts zu verhindern.
- Verwendet die gleichen Mechanismen wie andere Probes.
Beispielkonfiguration in Kubernetes:
livenessProbe: # Lebendigkeit prüfen
httpGet: # Über HTTP
path: /healthz # Pfad
port: 8080 # Port
initialDelaySeconds: 15 # Verzögerung vor der ersten Prüfung
timeoutSeconds: 1 # Wartezeit auf Antwort
readinessProbe: # Bereitschaft prüfen
tcpSocket: # Über TCP
port: 8080 # Port
initialDelaySeconds: 5 # Verzögerung vor der ersten Prüfung
periodSeconds: 10 # Intervall zwischen Prüfungen