Sobes.tech
Junior

Ce tipuri de teste există pentru verificarea stării serviciilor și aplicațiilor?

sobes.tech AI

Răspuns de la AI

Există mai multe tipuri comune de sonde:

  • Sonda de viață (Liveness): Determină dacă aplicația funcționează. Dacă sonda eșuează, Kubernetes repornește pod-ul. Folosită pentru detectarea proceselor blocate.

    • Sonde HTTP Get: Trimite solicitări HTTP GET către ruta și portul specificate.
    • Sonde de socket TCP: Verifică posibilitatea de a se conecta la portul specificat.
    • Sonde de execuție: Execută o comandă în interiorul containerului și verifică codul de ieșire.
  • Sonda de pregătire (Readiness): Determină dacă pod-ul este gata să primească trafic. Dacă sonda eșuează, serviciul nu direcționează trafic către acest pod. Folosită pentru a determina disponibilitatea aplicației după pornire sau în timpul actualizării.

    • Utilizează aceleași mecanisme ca și Sondele de viață (HTTP Get, socket TCP, execuție).
  • Sonda de pornire (Startup): Determină dacă inițializarea aplicației s-a încheiat. Dacă sonda este configurată, Kubernetes nu va executa Sondele de viață și pregătire până când Sonda de pornire nu reușește cu succes. Utilă pentru aplicațiile care pornesc lent, pentru a preveni repornirile premature.

    • Utilizează aceleași mecanisme ca și celelalte sonde.

Exemplu de configurare în Kubernetes:

livenessProbe: # Verificare de viață
  httpGet: # Prin HTTP
    path: /healthz # Cale
    port: 8080 # Port
  initialDelaySeconds: 15 # Întârziere înainte de prima verificare
  timeoutSeconds: 1 # Timp de așteptare pentru răspuns
readinessProbe: # Verificare de pregătire
  tcpSocket: # Prin TCP
    port: 8080 # Port
  initialDelaySeconds: 5 # Întârziere înainte de prima verificare
  periodSeconds: 10 # Interval între verificări