Eliminare un pool di nodi del servizio Azure Kubernetes
Questo articolo descrive l'eliminazione del pool di nodi nel servizio Azure Kubernetes, incluse le operazioni che si verificano quando si elimina un pool di nodi e le modalità di eliminazione.
Cosa accade quando si elimina un pool di nodi?
Quando si elimina un pool di nodi, vengono eliminate le risorse seguenti:
- Set di scalabilità di macchine virtuali e macchine virtuali per ogni nodo nel pool di nodi
- Qualsiasi istanza del nodo nel pool di nodi insieme a tutti i pod in esecuzione in tali nodi
Eliminare un pool di nodi
Importante
Quando si elimina un pool di nodi, tenere presente le informazioni seguenti:
- Non è possibile ripristinare un pool di nodi dopo l'eliminazione. È necessario creare un nuovo pool di nodi e ridistribuire le applicazioni.
Eliminare un pool di nodi usando il comando az aks nodepool delete
.
az aks nodepool delete \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--name <node-pool-name>
Per verificare che il pool di nodi sia stato eliminato correttamente, usare il comando kubectl get nodes
per controllare che non vi siano più nodi nel pool di nodi.
Ignorare PodDisruptionBudgets (PDB) quando si rimuove un pool di nodi esistente
Se il cluster dispone di PodDisruptionBudgets che impediscono l'eliminazione del pool di nodi, è possibile ignorare i requisiti PodDisruptionBudget impostando --ignore-pod-disruption-budget
su true
. Per altre informazioni su PodDisruptionBudgets, vedere:
- Pianificare la disponibilità usando un budget di interruzione del pod
- Specifica di un budget di interruzione per l'applicazione
- Interruzioni
Eliminare un pool di nodi esistente senza seguire i PodDisruptionBudgets impostati nel cluster usando il comando
az aks nodepool delete
con il flag--ignore-pod-disruption-budget
impostato sutrue
:az aks nodepool delete \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name nodepool1 --ignore-pod-disruption-budget true
Per verificare che il pool di nodi sia stato eliminato correttamente, usare il comando
kubectl get nodes
per controllare che non vi siano più nodi nel pool di nodi.
Rimuovere macchine virtuali specifiche in un pool di nodi esistente
Nota
Quando si elimina una macchina virtuale con questo comando, il servizio Azure Kubernetes non esegue il blocco e lo svuotamento. Per ridurre al minimo l'interruzione dei pod di riprogrammazione attualmente in esecuzione nella macchina virtuale che si prevede di eliminare, eseguire un blocco e uno svuotamento nella macchina virtuale prima dell'eliminazione. Per altre informazioni su come eseguire il blocco e lo svuotamento, vedere lo scenario di esempio fornito nell'esercitazione sul ridimensionamento dei pool di nodi.
Elencare i nodi esistenti tramite il comando
kubectl get nodes
.kubectl get nodes
L'output dovrebbe essere simile all'esempio di output seguente:
NAME STATUS ROLES AGE VERSION aks-mynodepool-20823458-vmss000000 Ready agent 63m v1.21.9 aks-mynodepool-20823458-vmss000001 Ready agent 63m v1.21.9 aks-mynodepool-20823458-vmss000002 Ready agent 63m v1.21.9
Eliminare le macchine virtuali specificate tramite il comando
az aks nodepool delete-machines
. Assicurarsi di sostituire i segnaposto con i propri valori.az aks nodepool delete-machines \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> --machine-names <vm-name-1> <vm-name-2>
Verificare che le macchine virtuali siano state eliminate correttamente tramite il comando
kubectl get nodes
.kubectl get nodes
L'output non deve più includere le macchine virtuali specificate nel comando
az aks nodepool delete-machines
.
Passaggi successivi
Per altre informazioni sulla modifica delle dimensioni del pool di nodi nel servizio Azure Kubernetes, vedere Ridimensionare i pool di nodi.
Azure Kubernetes Service