Sobes.tech
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