Arrestare e avviare pool di nodi in Servizio Azure Kubernetes (AKS)

Potrebbe non essere necessario eseguire continuamente i carichi di lavoro del servizio Azure Kubernetes. Ad esempio, potrebbe essere disponibile un cluster di sviluppo con pool di nodi che eseguono carichi di lavoro specifici. Per ottimizzare i costi di calcolo, è possibile arrestare completamente i pool di nodi nel cluster del servizio Azure Kubernetes. Quando è necessario eseguire di nuovo i carichi di lavoro, è possibile riavviare i pool di nodi. Questo articolo illustra come arrestare e avviare pool di nodi in un cluster del servizio Azure Kubernetes usando il interfaccia della riga di comando di Azure.

Funzionalità e limitazioni

  • Non è possibile arrestare i pool di sistema.
  • I pool di nodi spot sono supportati.
  • I pool di nodi arrestati possono essere aggiornati.
  • Per arrestare un pool di nodi, il cluster e il pool di nodi utente devono essere in esecuzione e il pool provisioningState di nodi deve essere Succeeded.
  • Per avviare un pool di nodi, il cluster deve essere in esecuzione e il pool di nodi utente deve essere arrestato.
  • Non è possibile arrestare i pool di nodi dai cluster che usano il provisioning automatico dei nodi .

Suggerimento

È possibile usare Azure Copilot per arrestare e avviare i pool di nodi nel portale di Azure. Per ulteriori informazioni, vedere Gestire i cluster AKS in modo efficiente con Azure Copilot.

Operazioni preliminari

Questo articolo presuppone che sia presente un cluster del servizio Azure Kubernetes esistente. Se è necessario un cluster del servizio Azure Kubernetes, crearne uno usando l'interfaccia della riga di comando di Azure, Azure PowerShell o il portale di Azure.

Questo articolo richiede interfaccia della riga di comando di Azure versione 2.38.0 o successiva. Eseguire az --version per trovare la versione installata. Per altre informazioni sull'installazione o l'aggiornamento del interfaccia della riga di comando di Azure, vedere Installare il interfaccia della riga di comando di Azure.

Arrestare un pool di nodi del servizio Azure Kubernetes in esecuzione usando il interfaccia della riga di comando di Azure

Prima di arrestare un pool di nodi, verificare che il cluster e il pool di nodi utente siano in esecuzione, il pool provisioningState di nodi è Succeedede il cluster non usa il provisioning automatico dei nodi.

Avvertimento

L'arresto di un pool di nodi arresta tutte le macchine virtuali nel pool. Prima di arrestare il pool, assicurarsi che i carichi di lavoro possano tollerare un'interruzione o che possano essere eseguiti in un altro pool di nodi.

  1. Arrestare un pool di nodi del servizio Azure Kubernetes in esecuzione usando il comando az aks nodepool stop.

    az aks nodepool stop --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Verificare che il pool di nodi sia stato arrestato usando il comando az aks nodepool show.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
    

    L'output di esempio condensato seguente mostra powerState come Stopped:

    {
    [...]
     "osType": "Linux",
        "podSubnetId": null,
        "powerState": {
            "code": "Stopped"
            },
        "provisioningState": "Succeeded",
        "proximityPlacementGroupId": null,
    [...]
    }
    

    Nota

    Se il provisioningState mostra Stopping, il pool di nodi è ancora in fase di arresto.

    Nota

    L'arresto del pool di nodi arresta anche il ridimensionamento automatico del cluster per il pool di nodi. L'avvio del pool di nodi riavvia il componente di scalabilità automatica del cluster. Non modificare manualmente il numero di istanze del set di scalabilità di macchine virtuali nel pool mentre è arrestato. La modifica diretta delle risorse dell'infrastruttura gestita dal servizio Azure Kubernetes non è supportata e può causare incoerenze e errori delle operazioni di scalabilità automatica del cluster. Per altre informazioni, vedere Personalizzazione utente dei nodi dell'agente.


Riavviare un pool di nodi del servizio Azure Kubernetes usando il interfaccia della riga di comando di Azure

Prima di avviare un pool di nodi, verificare che il cluster sia in esecuzione e che il pool di nodi utente sia arrestato.

  1. Riavviare un pool di nodi arrestato usando il az aks nodepool start comando .

    az aks nodepool start --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool 
    
  2. Verificare che il pool di nodi sia stato avviato usando il comando az aks nodepool show.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
    

    L'output di esempio condensato seguente mostra powerState come Running:

    {
    [...]
     "osType": "Linux",
        "podSubnetId": null,
        "powerState": {
            "code": "Running"
            },
        "provisioningState": "Succeeded",
        "proximityPlacementGroupId": null,
    [...]
    }
    

    Nota

    Se provisioningState mostra Starting, il pool di nodi è ancora in fase di avvio.


Passaggi successivi