Sonde di Livess Kubernetes

Sonde di Livess Kubernetes

Kubernetes usa le sonde di vivaci per decidere quando riavviare un contenitore. Esistono tre tipi di configurazioni prob per i contenitori, l'avvio, la prontezza e la vita. La sonda di avvio è definita nell'ambiente Kubernetes per dire al cluster quando avviare un'applicazione del contenitore. La sonda di prontezza viene utilizzata dal contenitore Kubernetes per verificare quando può iniziare ad accettare il traffico. Per determinare quando riavviare un contenitore, tuttavia, vengono impiegate sonde di vivaci. In questa guida, esploreremo in modo approfondito la sonda di vivace e impareremo come e quando usarla nell'ambiente Kubernetes.

Cos'è una sonda di vita in kubernetes?

Un cluster in Kubernetes passa attraverso diverse fasi nel suo ciclo di vita completo con stati diversi. Questi stati possono essere controllati dalle sonde che sono il processo automatizzato per il controllo dello stato corrente del cluster. In parole semplici, le sonde di vivaci sono il controllo sanitario dei cluster. È un meccanismo fornito da Kubernetes che viene utilizzato per verificare se le applicazioni sono correttamente in esecuzione nel contenitore o meno.

La sonda di Livess viene utilizzata per assicurarsi che un'applicazione sia correttamente in esecuzione in un contenitore e che sia in diretta. Queste sonde sono usate per sapere quando riavviare i contenitori se non funzionano o non sono in modalità attiva. Viene scelta qualsiasi applicazione che è rotta, arrestata da un errore o transizione a uno stato rotto, può essere fissata riavviando il cluster. Nient'altro viene fatto se la sonda di Livess ha successo nel correggere l'applicazione. Tuttavia, se fallisce, il registro degli eventi viene mantenuto e i comandi Kubectl vengono utilizzati per uccidere il contenitore in base alla configurazione RestartPolicy.

Come funziona una sonda di vivacità su un cluster Kubernetes?

Una sonda di vita è un processo automatizzato che viene utilizzato per controllare lo stato del cluster nell'ambiente Kubernetes. La sonda di Livezza invia periodicamente una richiesta HTTP o esegue un comando a un endpoint su un contenitore e attende la risposta. Nel caso in cui il contenitore non risponda, restituisce un fallimento; o se nessuna risposta arriva all'interno di un periodo di tempo specifico, la sonda di vivace riavvia il contenitore.

Le sonde di vita forniscono dettagli a livello granulare se un'applicazione è correttamente in esecuzione in un cluster o no. Per impostazione predefinita, il controller Kubernetes determina se un pod è in esecuzione o no. Se il baccello non è in esecuzione, le sonde di Lività innescano il riavvio sul pod seguendo la politica di riavvio del pod. In alcuni casi, i pod sono in esecuzione correttamente ma l'applicazione potrebbe essere malfunzionando. Tutti questi dettagli granulari possono essere controllati con le sonde.

Impariamo come definire la sonda di Livess per il cluster nell'ambiente Kubernetes seguendo la guida passo-passo indicata di seguito.

Prerequisiti:

Prima di imparare a definire la sonda di Livess nell'ambiente Kubernetes, assicurati di avere un sistema adatto. Alcuni strumenti devono essere installati e configurati correttamente nell'ambiente Kubernetes per definire la sonda Livezza. Vedi l'elenco degli strumenti menzionati qui:

    • Ubuntu 22.024or o qualsiasi altra ultima versione
    • Strumento di riga di comando kubectl
    • Cluster Kubernetes
    • Cluster Minikube
    • Minimo di due nodi che non funzionano come host piano di controllo

Una volta configurati questi strumenti nel tuo sistema, sei pronto a definire una sonda per il tuo cluster Kubernetes. Supponendo che il tuo sistema sia preparato e pronto per il lavoro, ci stiamo spostando alla sezione successiva.

Come definire una sonda di vita per il cluster Kubernetes?

Alcune delle applicazioni vengono eseguite nel cluster Kubernetes per un lungo periodo e infine passano a uno stato rotto o fallito. Questi stati sono abbastanza testardi da non poter essere risolti senza riavviare il contenitore in cui sono in esecuzione. Le sonde di Lività sono definite per rilevare tali stati e programmare un riavvio per il cluster ogni volta che è necessario. Quindi, qui, ti insegneremo come definire una sonda di vivacità per il cluster di Kubernetes.

Passaggio n. 1: avviare il cluster minikube

Innanzitutto, devi avviare il tuo cluster minikube per assicurarti che sia attivo e funzionante correttamente. Il cluster può essere avviato utilizzando il comando indicato di seguito:

> Minikube Start


Passaggio n. 2: crea un baccello

Abbiamo un file di configurazione YAML che utilizzeremo per creare un pod nel contenitore. Il file di configurazione contiene la definizione di distribuzione per il pod. Utilizzare lo strumento riga di comando per eseguire il seguente comando per distribuire il pod nel cluster Kubernetes:

> kubectl appliche -f https: // k8s.IO/Esempi/Pods/Sonde/Exec-Lificity.Yaml



Dall'output sopra indicato, è possibile notare che il pod denominato "Lives-Exec" è stato creato dal file di configurazione YAML. Ora applicheremo le sonde di vivaci sul baccello in modo che ogni volta che i baccelli arrivano in modalità inattiva, vengono riavviati con la sonda di vivace.

Passaggio n. 3: Visualizza eventi POD

Ora, controlliamo il registro degli eventi del pod che abbiamo creato nel passaggio precedente per verificare come una sonda di vita sta lavorando su questo pod. Per controllare gli eventi del pod, useremo il seguente comando:

> Kubectl descrivi Pod Livess-Exec



Dall'output sopra riportato, puoi vedere che la sonda di Livezza funziona sul pod ogni 5 secondi per verificare se è ancora attiva o no. Puoi anche notare che la sonda di Livess ha successo una volta e fallita tre volte. Se la sonda di vivace continua a fallire, il contenitore verrà ucciso e ricreato.

Passaggio n. 4: verificare che il contenitore venga riavviato

Dal momento che la sonda di vivace è fallita tre volte, verifichiamo se il pod si è nuovamente riavviato da Livess Prob o no. Usando il seguente comando, possiamo determinare lo stato del pod:

> Kubectl Get Pod Livess-Exec


Conclusione

Esploriamo le sonde Kubernetes definite per i contenitori. Esistono tre tipi di sonde definite per i contenitori nell'ambiente di Kubernetes: vivace, startup e prontezza. Questo documento era focalizzato sulla sonda di Livezza che viene utilizzata per riavviare il cluster ogni volta che è necessario. La sonda di Livess è un controllo sanitario che si assicura che un cluster sia attivo e funzionante correttamente.