Come gestire Kubernetes CrashLoopbackoff

Come gestire Kubernetes CrashLoopbackoff

Hai indubbiamente imbattuto nel terribile crashloopbackoff se hai utilizzato Kubernetes (K8S). Diverse forme di errori di configurazione K8S possono comportare un crashloopbackoff. Un crashloopbackoff si riferisce a un pod che inizia, si schianta e si riavvia di nuovo. Un crashloopbackoff si verifica quando un programma nel tuo contenitore fallisce. Il programma nel contenitore potrebbe terminare per diversi motivi. Forse stai tentando di eseguire il tuo server che non carichi il file di configurazione correlato. Forse stai tentando di distribuire un'applicazione che si arresta a causa dell'incapacità di connettersi ad un altro servizio. Kubernetes riavvierà ripetutamente il pod nel tentativo di recuperare dai problemi di crashloopbackoff e sebbene ci sia qualcosa di profondamente sbagliato nel tuo programma che un semplice ripristino non lo risolverà. Quasi sempre, dovrai correggere la tua immagine o l'applicazione che stai cercando di eseguire.

Cause dello stato di crashloopbackoff a Kubernetes

CrashLoopbackoff è terribile poiché è un contenitore che contiene un gran numero di guasti che sono tutti ben mascherati sotto la stessa condizione di errore. Potrebbero esserci molti segreti Kubernetes impostati nel cluster. Il limite di memoria corrente impostato nel pod segreto è insufficiente per la gestione dei segreti Kubernetes. A causa della mancanza di memoria, Kubernetes ha distrutto il pod. Il controllo dei pod nello stato di CrashLoopbackoff è paragonabile all'esame dei pod nello stato in sospeso. Tuttavia, potrebbe essere necessario un po 'di ulteriore comprensione del carico di lavoro del contenitore che si sta creando.

Ma per ora, ti aiuteremo a gestire lo stato di Kubernetes CrashLoopbackoff.

Prerequisiti

Per gestire CrashLoopbackoff in Kubernetes, abbiamo usato Ubuntu 20.04 Sistema operativo. Tuttavia, puoi utilizzare anche qualsiasi altra distribuzione Linux preferita. Inoltre, per eseguire il servizio Kubernetes sul sistema operativo Linux, è necessario aver installato un cluster minikube su di esso.

Metodo per visualizzare e gestire lo stato di crashloopbackoff

Ora è il momento di lanciare il terminale della tua distribuzione Linux. Questa attività è la più semplice. È possibile aprirlo visitando la sezione dell'applicazione e cercandola o utilizzando la chiave di scelta rapida più comune di "Ctrl+Alt+T". Controllando uno di questi metodi, sarai in grado di avviare il terminale della riga di comando. Dopo aver lanciato il terminale di comando, è necessario avviare il cluster minikube; È necessario digitare il comando sotto citato nella shell della riga di comando per questo scopo particolare. Premi il tasto "Invio" per la sua esecuzione.

$ Minikube inizi

Otterrai l'output come mostrato nell'immagine sopra attaccata. Mostrerà la versione del cluster minikube. Puoi aggiornarlo anche in base alle tue esigenze. L'intero processo richiederà qualche minuto, quindi per favore non lasciare il terminale; Altrimenti, il processo verrà terminato e ti verrà richiesto di ricominciarlo. Ora devi visualizzare tutti gli spazi dei nomi con l'aiuto del comando kubectl. Quindi, esegui il comando apposto per verificarlo.

$ kubectl Ottieni uno spazio dei nomi

Nell'output di questo comando, è possibile controllare lo stato, l'età e i nomi dello spazio dei nomi. Ora il passo più importante è qui che è essenziale per la guida. Devi controllare lo stato dei pod che possono essere come "in esecuzione", "non riusciti" o "crashloopbackoff". Per visualizzare il loro stato, devi eseguire il comando sotto citato nel terminale.

$ kubectl ottieni baccelli

È possibile visualizzare lo stato del pod dall'esecuzione del comando se hai bisogno di informazioni complete sul pod utilizzando il comando aggiunto seguente.

$ kubectl Descrivi il pod

L'output di questo comando ha grande importanza. Ti mostrerà il motivo principale del "CrashLoopBackoff" e dei baccelli falliti. Analizzando il motivo, puoi facilmente risolverlo. Supponiamo di avere un pod con uno stato di "CrashLoopbackoff", puoi ottenere le sue informazioni eseguendo questo comando. Ti aiuterà a risolverlo.

$ kubectl Get pods -namespace nginx -crashloop

L'out visualizzerà le informazioni complete su questo pod.

Conclusione

In questo tutorial, abbiamo cercato di spiegare il concetto di base di Kubernetes "CrashLoopbackoff". Inoltre, abbiamo elaborato su come visualizzare il suo stato e su come risolverlo. Spero ora che tu possa facilmente gestire "CrashLoopBackoff" in Kubernetes.