Come eliminare un nodo in kubernetes

Come eliminare un nodo in kubernetes
Kubernetes gestisce il tuo carico di lavoro dividendolo in baccelli che eseguono sui nodi. Un nodo potrebbe essere una macchina fisica o virtuale, in quanto dipende completamente dal cluster. Il piano di controllo gestisce ciascun nodo, contenente i servizi necessari per eseguire i pod. In un cluster, di solito ci sono numerosi nodi. Tuttavia, in un contesto di apprendimento o limitato a risorse, potrebbe esserci solo un nodo. Il kubelet, il kube-proxy e un contenitore di esecuzione sono tutti installati su un nodo. Utilizzando i comandi Kubectl, è possibile eliminare facilmente un baccello da un nodo Kubernetes. Prima di eliminare un pod, tuttavia, dovresti seguire i seguenti passaggi. Questo articolo fornirà le linee guida complete su come eliminare un nodo Kubernetes.

Abbiamo implementato questo tutorial su un Ubuntu 20.04 Sistema Linux. Puoi anche fare lo stesso. Facciamo il cluster minikube attivo e funzionante su un Ubuntu 20.04 Linux Server utilizzando il comando allegato. Per la riuscita esecuzione di questo tutorial, abbiamo anche installato Kubectl:

$ Minikube inizi

Usando il comando touch, abbiamo creato un file. Il comando touch viene utilizzato per creare un file che non ha alcun contenuto. Il comando touch ha generato un file vuoto:

$ touch node1.Yaml

Il file node1 viene generato con l'aiuto del comando touch, come mostrato nella seguente schermata:

Metodi per l'aggiunta di nodi al server API

Esistono due metodi di base per aggiungere nodi al server API. Il primo metodo è l'auto-regolamento del kubelet di un nodo con il piano di controllo. Il secondo metodo è dove un oggetto nodo viene aggiunto manualmente da te o da un altro utente umano.

Il piano di controllo verifica se un nuovo oggetto nodo è legittimo da utilizzare dopo averlo creato o dopo il kubelet su un nodo autoreggissioni. Se si tenta di costruire un nodo dal manifest JSON di seguito, ecco il seguente esempio:

Internamente, Kubernetes costruisce un oggetto nodo (la rappresentazione). Kubernetes verifica che un kubelet con i metadati.Il campo Nome del nodo si è registrato con il server API. Il nodo è idoneo a eseguire un pod se è salutare, come tutti i servizi pertinenti sono in esecuzione. Altrimenti, fino a quando quel nodo non diventa sano, viene ignorato per l'attività del cluster.

Tieni presente che Kubernetes salva l'oggetto per il nodo non valido e controlla se diventa di nuovo sano. Per interrompere il monitoraggio della salute, è necessario distruggere l'oggetto nodo.

Crea un nodo

Nella seguente screenshot, puoi vedere che un nodo viene creato con il comando Kubectl Crea:

$ kubectl crea -f node1.Yaml

Sui nomi dei nodi

Un nodo è identificato con il suo nome. Una risorsa con lo stesso nome è considerata lo stesso oggetto. Si presume che un'istanza di nodo identificata con lo stesso nome abbia lo stesso stato e gli attributi di un'altra istanza di nodo con lo stesso nome. È possibile che la modifica di un'istanza senza alterare il proprio nome comporterà incoerenze. Se un oggetto nodo esistente deve essere significativamente modificato o aggiornato, deve prima essere rimosso dal server API e quindi aggiunto di nuovo dopo che le modifiche sono state apportate.

Amministrazione manuale dei nodi

Usando Kubectl, è possibile creare e modificare gli oggetti del nodo. Utilizzare il parametro kubelet -register -node = false per creare manualmente le istanze del nodo. Indipendentemente dal fatto che -Register -Node sia abilitato, è possibile modificare le istanze del nodo. Ad esempio, è possibile assegnare le etichette a un nodo esistente o contrassegnarlo come non programmato. Contrassegnare un nodo come non scheggiabile impedisce allo scheduler di aggiungere nuovi pod, ma non influisce sui pod attuali.

Ottenere un elenco di nodi

Per iniziare a lavorare con i nodi, devi prima crearne un elenco. È possibile utilizzare il comando Kubectl Ottieni nodi per acquisire un elenco di nodi. Secondo l'output del comando, abbiamo due nodi che sono nello stato sconosciuto e pronto:

$ kubectl Ottieni nodi

Stato del nodo

Per conoscere lo stato del nodo, viene utilizzato il seguente comando. Include indirizzi, condizioni, informazioni allocabili e capacità:

$ kubectl Descrivi il nodo

Per eliminare un nodo specifico, viene utilizzato il seguente comando:

$ kubectl elimina nodo

Controller nodo

Nella vita di un nodo, il controller nodo svolge diversi ruoli. Quando è registrato un nodo, il primo passo è assegnarlo un blocco CIDR.

Per il secondo dovere, l'elenco interno dei nodi memorizzati dal controller del nodo deve essere aggiornato. La fase successiva è monitorare la salute dei nodi.

Conclusione

Abbiamo imparato come eliminare un nodo e ricevere informazioni sui nodi in questo articolo. Abbiamo anche discusso di come accedere allo stato del nodo e ad altre informazioni. Per distruggere efficacemente un nodo senza influire su nessuno dei pod in esecuzione sui rispettivi nodi, le procedure devono essere eseguite nell'ordine corretto. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata al suggerimento di Linux per ulteriori suggerimenti e informazioni.