Sobes.tech
Junior

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