Un aggiornamento di Deployment in GKE ha terminato forzatamente la tua app prima che chiudesse la sua connessione al database. Come dovresti modificare l'applicazione per garantire uno shutdown controllato?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Aggiorna il tuo codice per elaborare un segnale SIGTERM ricevuto per disconnettersi correttamente dal database..
Perché questa è la risposta
La risposta corretta è aggiornare il codice per elaborare un segnale SIGTERM. Kubernetes invia un segnale SIGTERM al container prima di terminarlo, concedendo un periodo di grazia per la pulizia delle risorse. L'applicazione deve essere in grado di intercettare questo segnale e, in risposta, chiudere correttamente le connessioni al database o completare le operazioni in corso. Configurare un PodDisruptionBudget (PDB) non impedisce la terminazione forzata, ma piuttosto limita il numero di interruzioni volontarie simultanee per un set di Pod. Aumentare terminationGracePeriodSeconds concede più tempo all'applicazione per spegnersi, ma senza una logica di gestione del SIGTERM nel codice, l'applicazione non utilizzerà questo tempo aggiuntivo per una chiusura controllata. Un hook PreStop è un'opzione valida per eseguire comandi prima della terminazione, ma l'elaborazione del SIGTERM direttamente nel codice dell'applicazione è spesso più robusta e idiomatica per gestire la chiusura delle connessioni.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta