Un pod può anche avere uno o più contenitori, uno dei quali è il contenitore dell'applicazione, e gli altri sono il contenitore INIT, che si ferma dopo aver completato un lavoro o il contenitore dell'applicazione è pronto per eseguire la sua funzione e il contenitore Sidecar, che è apposto sul contenitore dell'applicazione primaria. Un contenitore o un baccello non andrà sempre a causa di un errore dell'applicazione. In scenari come questo, dovrai riavviare esplicitamente il tuo pod Kubernetes. In questa guida, esplorerai come forzare i pod in una distribuzione per riavviare usando diversi modi.
Prerequisiti
Per riavviare il baccello utilizzando Kubectl, assicurati di aver installato lo strumento KubeCtl insieme al cluster minikube. Altrimenti, non sarai in grado di implementare l'articolo prescritto.
Nota: stiamo implementando questa guida su Ubuntu 20.04 Sistema Linux. Tuttavia, il sistema operativo può variare secondo le tue esigenze.
Metodi per riavviare i pod usando kubectl
Per riavviare i pod usando Kubectl, è necessario eseguire prima il cluster minikube utilizzando il seguente comando aggiunto nel terminale.
$ Minikube inizi
Questo processo richiederà del tempo, quindi devi aspettare un po 'di tempo per completare il processo in modo efficace. Ora siamo pronti per elencare i pod usando il comando apposto.
$ kubectl ottieni baccelli
Puoi verificarlo per il momento; Nel sistema è presente un solo pod. Ora creeremo una distribuzione. Quindi, inizialmente, dobbiamo creare un file di configurazione per la distribuzione. Crea il file nella home directory del tuo sistema con il comando apposto.
$ touch schieramento.Yaml
Il file verrà creato nella tua home directory. Aprilo e scrivi lo script di seguito nel file di configurazione e salvalo.
Ora crea la distribuzione con il seguente comando Kubectl apposto.
$ kubectl create -f distribuzione.Yaml
La distribuzione verrà creata correttamente, come mostrato nell'immagine allegata. Ora di nuovo, arruola tutti i baccelli del tuo sistema usando il apposto kubectl comando.
$ kubectl ottieni baccelli
Scopri che ora sono in esecuzione 2 pod come visualizzati nello screenshot sopra.
Metodo 1:
Verrà utilizzato un riavvio di rotolamento per riavviare ogni pod in ordine di distribuzione. Questa è la strategia più consigliata perché non causerà una pausa di servizio. Scrivi il comando di seguito nel terminale.
$ kubectl lancio di riavvio
Sostituisci il tuo bisogno.
Il comando sopra menzionato lo riavverrà. La tua app sarà accessibile poiché la maggior parte dei contenitori funzionerà.
Metodo 2:
Il secondo metodo è quello di costringere i pod a riavviare e sincronizzare con le modifiche apportate impostando o modificando una variabile di ambiente.
$ kubectl set envDeploy_date = "$ (data)"
Sostituisci il tuo bisogno.
Metodo 3:
Ridurre il numero di copie di distribuzione a zero e ridimensionare lo stato appropriato è un altro metodo per riavviare i pod. Ciò obbliga tutti i baccelli attuali a cessare e terminare, seguiti dalla pianificazione di pod freschi al loro posto. Limitare il numero di copie a 0 comporterà un'interruzione. Quindi si consiglia un riavvio di rotolamento. Utilizzare il seguente comando aggiunto per impostare le repliche di una distribuzione su 0.
$ kubectl slitta distribuzione--replicas = 0
Sostituisci il tuo bisogno.
La scala dei comandi specifica il numero di repliche che dovrebbero essere attive per ciascun pod. Si spegne efficacemente il processo quando gli utenti lo impostano a zero. Per ricominciare da.
$ kubectl slitta distribuzione--replicas = 1
Sostituisci il <Nome di distribuzione> Secondo il tuo bisogno.
Conclusione
Kubernetes è un'efficace piattaforma di orchestrazione del contenitore. Tuttavia, sorgono difficoltà, come fanno con tutti i sistemi. Quindi, il riavvio del pod non risolverà il problema fondamentale che lo ha fatto fallire in primo luogo, quindi assicurati di identificare e risolvere la causa principale. Spero che tu possa facilmente riavviare il tuo pod seguendo uno qualsiasi dei metodi spiegati in questa guida.