Aggiunta o rimozione di nodi in un cluster

Nei cluster Anthos su Bare Metal, puoi aggiungere o rimuovere i nodi in un cluster modificando le definizioni dei pool di nodi del cluster. Puoi usare il comando kubectl per modificare queste definizioni.

Esistono tre diversi tipi di pool di nodi nei cluster Anthos su Bare Metal: piano di controllo, bilanciatore del carico e pool di nodi worker. Puoi modificare i nodi del piano di controllo e del bilanciatore del carico tramite le definizioni delle risorse del cluster associate, mentre modifichi direttamente le definizioni dei pool di nodi worker.

Visualizzazione dello stato dei nodi

Puoi visualizzare lo stato dei nodi e dei rispettivi pool di nodi con il comando kubectl get.

Ad esempio, il seguente comando mostra lo stato dei pool di nodi nello spazio dei nomi del cluster my-cluster:

 kubectl -n my-cluster get nodepools.baremetal.cluster.gke.io

Il sistema restituisce risultati simili ai seguenti:

  NAME                    READY   RECONCILING   STALLED   UNDERMAINTENANCE   UNKNOWN
  my-cluster              3       0             0         0                  0
  my-cluster-lb           2       0             0         0                  0
  np1                     3       0             0         0                  0

Se hai bisogno di ulteriori informazioni su come diagnosticare i tuoi cluster, consulta la pagina Diagnosi e reimpostazione dei cluster.

Modifica dei nodi del piano di controllo

Puoi aggiungere o rimuovere i nodi del piano di controllo modificando l'array di spec.controlPlane.nodePoolSpec.nodes di un cluster nella definizione della risorsa del cluster.

Tieni presente che la modifica diretta del pool di nodi del piano di controllo non funziona, perché la specifica del cluster è la definizione autorevole del pool di nodi del piano di controllo.

In una configurazione ad alta disponibilità (HA), è richiesto un numero dispari di pool di nodi del piano di controllo (tre o più) per stabilire un quorum per garantire che, in caso di errore di un piano di controllo, altri prenderanno il controllo. Se temporaneamente hai un numero pari di nodi durante l'aggiunta o la rimozione di nodi per la manutenzione o la sostituzione, il deployment mantiene alta disponibilità purché tu abbia un quorum sufficiente.

Modifica dei nodi del bilanciatore del carico

Puoi aggiungere o rimuovere i pool di nodi del bilanciatore del carico di un cluster modificando l'array di indirizzi spec.loadBalancer.nodePoolSpec.nodes del cluster nel file di configurazione del cluster.

Modifica dei nodi worker

Puoi aggiungere o rimuovere i nodi worker direttamente con il comando kubectl. I pool di nodi worker devono avere almeno un nodo desiderato.

Nell'esempio seguente, il comando elimina un pool di nodi denominato np1, dove la variabile per lo spazio dei nomi del cluster è my-cluster:

  kubectl -n my-cluster delete nodepool np1
 

Analogamente, è possibile ridimensionare i pool di nodi modificando l'array di indirizzi spec.nodes.

Tieni presente che quando rimuovi i nodi da un cluster, questi vengono innanzitutto svuotati di qualsiasi pod. I nodi non verranno rimossi dal cluster se non è possibile riprogrammare i pod su altri nodi. La rimozione dei nodi ne determina la rimozione solo dal piano di controllo; i contenuti del nodo non vengono reimpostati.

Il seguente comando kubectl edit consente di modificare e quindi eseguire il commit delle modifiche per lo spazio dei nomi del cluster my-cluster e il pool di nodi np1:

  kubectl -n my-cluster edit nodepool np1