Come usare Kubectl Cordon

Come usare Kubectl Cordon

Kubectl Cordon contiene il nodo come "non pianificabile". Ciò influisce sul controller della struttura che elimina il nodo da tutti gli elenchi di nodi di carico precedentemente appropriati ed eliminando in modo efficiente il traffico del bilanciamento del carico verso l'interno da quelli bloccati. I nodi pertinenti verranno rimossi.

Kubernetes esegue il carico di lavoro assegnando il contenitore nel pod per l'esecuzione sul nodo. I nodi possono essere macchine virtuali o macchine fisiche, dipendenti dal cluster. Ogni nodo è ottenuto dal piano di controllo e consiste nei servizi necessari per eseguire il pod.

Per l'esecuzione dei comandi in Kubernetes, dobbiamo installare Ubuntu 20.04. Qui utilizziamo il sistema operativo Linux per eseguire i comandi Kubectl. Ora installiamo il cluster Minikube per eseguire Kubernetes in Linux. Minikube offre una comprensione estremamente fluida in quanto fornisce una modalità efficiente per testare i comandi e le applicazioni.

Vediamo come usare il cordone kubectl:

Avvia minikube

Dopo aver installato il cluster Minikube, dobbiamo aprire un terminale per l'esecuzione dei comandi. A tale scopo, premi del tutto "ctrl+alt+t" dalla tastiera.

Nel terminale, scriviamo il comando "avvia minikube" e, dopo questo, aspettiamo un po 'fino a quando non viene effettivamente iniziato. L'output di questo comando è dato sotto.

Controlla la versione Kubectl

Dobbiamo controllare la versione, quindi eseguiamo il comando "versione kubectl". Eseguendo questo comando, otteniamo le informazioni sulla versione client e sulla versione del server anche in output. Quando inseriamo il comando "Kubectl versione", visualizzerà i risultati successivi.

Crea un baccello in kubernetes

Se abbiamo una raccolta di diversi nodi e baccelli che servono l'applicazione. E se un singolo nodo scende. Non puoi accedere ai baccelli sopra di esso. Se i baccelli fossero un pezzo di un set di replica, sarebbero ristrutturati su altri nodi. La quantità di tempo che aspettiamo che un pod diventa online è chiamato timeout di pulizia del pod ed è impostato sul valore predefinito di 5 minuti in controller manager. Pertanto, quando un nodo va offline, il nodo principale attende fino a 5 minuti prima, supponendo che il nodo sia giù.

Ottiamo il seguente output dopo aver eseguito il comando "kubectl ottieni nodi". L'output restituisce il nome del nodo, dello stato, dei ruoli, dell'età e della versione di Kubernetes.

Drenando un nodo

Kubernetes offre un metodo per drenare un nodo e utilizzare il comando di drenaggio nodo kubectl per fermare tutti i baccelli disposti sul nodo e riprogrammare su altri nodi. Se vogliamo patch o aggiornare un nodo con Kubernetes, dobbiamo interrompere la pianificazione per quel nodo e drenare i baccelli in esecuzione su questo nodo. Possiamo drenare i nodi in modo che i carichi di lavoro siano entusiasti di altri nodi.
Quando si svuota i nodi, i baccelli usciranno correttamente dal nodo dove si trovano e verranno ricostruiti su un altro nodo. Anche i nodi sono contrassegnati come non pianificabili. Ciò significa che non sarai in grado di programmare i baccelli sul nodo fino a quando non elimini i limiti.

Kubernetes è in grado di identificare gli errori del nodo e riorganizzare i baccelli su nuovi nodi. Quando il nodo è isolato. Ciò significa che non possiamo posizionare un nuovo pod su questo nodo.

Il drenaggio del nodo è un processo di Kubernetes che rimuove in modo sicuro i baccelli da un nodo. Usiamo il comando "Kubectl Drain Minikube" per rimuovere in modo sicuro tutti i baccelli dal nodo. Quando eseguiamo il comando, si verificano due cose. Il nodo è cordato e contrassegnato come non pianificato per il pod originale. Quindi inizia il metodo di cancellazione, ma dopo un po 'riceviamo un messaggio come nel terminale. Dopo un po ', a seconda della situazione come ci vuole molto tempo per distribuire e scambiare il vecchio pod con il nuovo pod) il comando Kubectl Drain Minikube è terminato e possiamo verificare se il nodo è vuoto.

Il comando di scarico separa il nodo e afferma Kubernetes per terminare i baccelli originali sul nodo. I pod successivamente sul nodo oggettivo verranno rimossi dal nodo vuoto. Cioè, il pod si ferma. Possiamo evacuare una serie di nodi o un singolo nodo lavoratore.

Il comando "Kubectl Drain Minikube" svuota il nodo con l'etichetta specificata e non può riprogrammarlo su un altro nodo, quindi ignora tutti i set di demone disposti sul nodo. Il comando di drena esegue due operazioni.

Cordone il nodo; Ciò significa segnare il nodo stesso come non pianificabile in modo che i nuovi baccelli non siano disposti sul nodo. Kubectl contiene un comando chiamato Cordon che ci consente di creare un nodo insignificante

Rimuove tutti i baccelli disposti sul nodo in modo che lo scheduler possa elencarli su nuovi nodi. L'azione elimina non può essere recuperata.

  • Ignora i daemontons: Non possiamo eliminare i baccelli in esecuzione sotto il set da demone. Questa bandiera si affaccia su questi baccelli.
  • elimina emptydir-data: Verificare che i dati vengano eliminati dall'archiviazione temporanea vuoto non appena il pod viene eliminato

UNCORDING UN NODE

Non possiamo programmare un nuovo pod una volta che il nodo è cordato. Se elenchiamo un nuovo pod sul nodo, dobbiamo sbloccarlo manualmente.
Possiamo programmare un nuovo pod una volta che il nodo è uncorato. Con questo, possiamo riprogrammare il pod.

Quando eseguiamo lo script per creare un nodo, possiamo unire il nodo aggiungendo un comando UNCORDON alla sceneggiatura. Qui il comando "Kubectl Uncordon Minikube" mostra che il nodo "minikube" sarà uncorato.

Conclusione

Un pod è un oggetto Kubernetes di base che è un'unità vitale per comprendere il modello a oggetto Kubernetes. In questo articolo, abbiamo discusso della modalità di come utilizzare Kubectl Cordon. A tale scopo, prima creiamo un baccello, quindi prosciughiamo un nodo e alla fine, under il nodo.