Sobes.tech
Junior

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