Quali sono i tipi di test per verificare lo stato dei servizi e delle applicazioni?
sobes.tech AI
Risposta dell'AI
Esistono diversi tipi comuni di sonde:
-
Sonda di vivacità (Liveness): Determina se l'applicazione è in esecuzione. Se la sonda fallisce, Kubernetes riavvia il pod. Viene usata per rilevare processi bloccati.
- Sonde HTTP Get: Invia richieste HTTP GET al percorso e alla porta specificati.
- Sonde di socket TCP: Verifica la possibilità di connettersi alla porta specificata.
- Sonde di esecuzione: Esegue un comando all'interno del contenitore e verifica il codice di ritorno.
-
Sonda di disponibilità (Readiness): Determina se il pod è pronto a ricevere traffico. Se la sonda fallisce, il servizio non indirizza traffico a quel pod. Viene usata per determinare la prontezza dell'applicazione dopo l'avvio o durante l'aggiornamento.
- Usa gli stessi meccanismi delle sonde di vivacità (HTTP Get, socket TCP, esecuzione).
-
Sonda di avvio (Startup): Determina se l'inizializzazione dell'applicazione è terminata. Se la sonda è configurata, Kubernetes non eseguirà le sonde di vivacità e disponibilità finché la sonda di avvio non supera con successo. Utile per applicazioni che richiedono molto tempo per avviarsi, per evitare riavvii prematuri.
- Usa gli stessi meccanismi delle altre sonde.
Esempio di configurazione in Kubernetes:
livenessProbe: # Verifica di vivacità
httpGet: # Tramite HTTP
path: /healthz # Percorso
port: 8080 # Porta
initialDelaySeconds: 15 # Ritardo prima della prima verifica
timeoutSeconds: 1 # Tempo di attesa della risposta
readinessProbe: # Verifica di prontezza
tcpSocket: # Tramite TCP
port: 8080 # Porta
initialDelaySeconds: 5 # Ritardo prima della prima verifica
periodSeconds: 10 # Intervallo tra verifiche