Koje vrste testova postoje za proveru stanja usluga i aplikacija?
sobes.tech АИ
Одговор од АИ
Postoji nekoliko uobičajenih vrsta sondi:
-
Sonda za životnost (Liveness): Određuje da li aplikacija radi. Ako sonda ne uspe, Kubernetes ponovo pokreće pod. Koristi se za otkrivanje zaglavljenih procesa.
- HTTP Get sonde: Šalju HTTP GET zahteve na navedeni put i port.
- TCP socket sonde: Proveravaju mogućnost povezivanja na navedeni port.
- Exec sonde: Izvršava komandu unutar kontejnera i proverava kod povratka.
-
Sonda spremnosti (Readiness): Određuje da li je pod spreman da prima saobraćaj. Ako sonda ne uspe, servis ne usmerava saobraćaj na taj pod. Koristi se za određivanje spremnosti aplikacije nakon pokretanja ili tokom ažuriranja.
- Koristi iste mehanizme kao i Liveness sonde (HTTP Get, TCP socket, Exec).
-
Sonda pokretanja (Startup): Određuje da li je inicijalizacija aplikacije završena. Ako je sonda konfigurirana, Kubernetes neće izvršavati sonde za životnost i spremnost dok Startup sonda ne uspešno ne prođe. Korisno za sporo pokrećuće se aplikacije, da se spreče preuranjeni restartovi.
- Koristi iste mehanizme kao i ostale sonde.
Primer konfiguracije u Kubernetes-u:
livenessProbe: # Provera životnosti
httpGet: # Preko HTTP
path: /healthz # Put
port: 8080 # Port
initialDelaySeconds: 15 # Kašnjenje pre prve provere
timeoutSeconds: 1 # Vreme čekanja odgovora
readinessProbe: # Provera spremnosti
tcpSocket: # Preko TCP
port: 8080 # Port
initialDelaySeconds: 5 # Kašnjenje pre prve provere
periodSeconds: 10 # Interval između provera