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