Junior
Aké sú typy testov na kontrolu stavu služieb a aplikácií?
sobes.tech AI
Odpoveď od AI
Existuje niekoľko bežných typov sond:
-
Sonda životnosti (Liveness): Určuje, či aplikácia funguje. Ak sonda zlyhá, Kubernetes reštartuje pod. Používa sa na detekciu zaseknutých procesov.
- HTTP Get sondy: Posielajú HTTP GET požiadavky na zadanú cestu a port.
- TCP socket sondy: Kontrolujú možnosť pripojenia na zadaný port.
- Exec sondy: Spúšťa príkaz v kontejnery a kontroluje návratový kód.
-
Sonda pripravenosti (Readiness): Určuje, či je pod pripravený prijímať prevádzku. Ak sonda zlyhá, služba nevedie prevádzku na tento pod. Používa sa na určenie pripravenosti aplikácie po spustení alebo počas aktualizácie.
- Používa rovnaké mechanizmy ako sondy životnosti (HTTP Get, TCP socket, Exec).
-
Sonda spustenia (Startup): Určuje, či bola ukončená inicializácia aplikácie. Ak je sonda nakonfigurovaná, Kubernetes nebude vykonávať sondy životnosti a pripravenosti, kým nebude úspešná sonda spustenia. Užitečné pre pomalé spúšťajúce sa aplikácie, aby sa predišlo predčasným reštartom.
- Používa rovnaké mechanizmy ako ostatné sondy.
Príklad konfigurácie v Kubernetes:
livenessProbe: # Kontrola životnosti
httpGet: # Cez HTTP
path: /healthz # Cesta
port: 8080 # Port
initialDelaySeconds: 15 # Zdržanie pred prvou kontrolou
timeoutSeconds: 1 # Čas čakania na odpoveď
readinessProbe: # Kontrola pripravenosti
tcpSocket: # Cez TCP
port: 8080 # Port
initialDelaySeconds: 5 # Zdržanie pred prvou kontrolou
periodSeconds: 10 # Interval medzi kontrolami