Condividi tramite


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:

  1. 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 su true:

    az aks nodepool delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name nodepool1
        --ignore-pod-disruption-budget true
    
  2. 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.

  1. 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
    
  2. 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>
    
  3. 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.