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