Sobes.tech
Junior

Jaké jsou typy testů pro kontrolu stavu služeb a aplikací?

sobes.tech AI

Odpověď od AI

Existuje několik běžných typů sond:

  • Sonda životnosti (Liveness): Určuje, zda aplikace funguje. Pokud sonda selže, Kubernetes restartuje pod. Používá se k detekci zaseknutých procesů.

    • HTTP Get sondy: Odesílají HTTP GET požadavky na zadanou cestu a port.
    • TCP socket sondy: Kontrolují, zda je možné se připojit ke zadanému portu.
    • Exec sondy: Spouští příkaz uvnitř kontejneru a kontroluje návratový kód.
  • Sonda připravenosti (Readiness): Určuje, zda je pod připraven přijímat provoz. Pokud sonda selže, služba neřídí provoz na tento pod. Používá se k určení připravenosti aplikace po spuštění nebo během aktualizace.

    • Používá stejné mechanismy jako sondy životnosti (HTTP Get, TCP socket, Exec).
  • Sonda spuštění (Startup): Určuje, zda byla dokončena inicializace aplikace. Pokud je sonda nakonfigurována, Kubernetes nebude provádět sondy životnosti a připravenosti, dokud nebude úspěšná sonda spuštění. Užitečné pro pomalu spouštějící se aplikace, aby se zabránilo předčasným restartům.

    • Používá stejné mechanismy jako ostatní sondy.

Příklad konfigurace v Kubernetes:

livenessProbe: # Kontrola životnosti
  httpGet: # Přes HTTP
    path: /healthz # Cesta
    port: 8080 # Port
  initialDelaySeconds: 15 # Zpoždění před prvním kontrolou
  timeoutSeconds: 1 # Čas čekání na odpověď
readinessProbe: # Kontrola připravenosti
  tcpSocket: # Přes TCP
    port: 8080 # Port
  initialDelaySeconds: 5 # Zpoždění před prvním kontrolou
  periodSeconds: 10 # Interval mezi kontrolami