Sobes.tech
Junior

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