Usare la modalità di riduzione per eliminare/deallocare nodi nel servizio Azure Kubernetes

Per impostazione predefinita, le operazioni di aumento delle prestazioni eseguite manualmente o dal ridimensionamento automatico del cluster richiedono l'allocazione e il provisioning di nuovi nodi e le operazioni di eliminazione delle operazioni di riduzione. La modalità di riduzione consente di decidere se eliminare o deallocare i nodi nel cluster del servizio Azure Kubernetes al momento della riduzione delle prestazioni.

Quando una macchina virtuale di Azure si trova nello stato Stopped (deallocato), non verrà addebitato alcun costo per le risorse di calcolo della macchina virtuale. Tuttavia, sarà comunque necessario pagare per i dischi di archiviazione dati e del sistema operativo collegati alla macchina virtuale. Ciò significa anche che le immagini del contenitore verranno mantenute in tali nodi. Per altre informazioni, vedere Stati e fatturazione delle macchine virtuali di Azure. Questo comportamento consente velocità di funzionamento più veloci, perché la distribuzione usa immagini memorizzate nella cache. La modalità di riduzione delle prestazioni elimina la necessità di effettuare il pre-provisioning dei nodi e delle immagini del contenitore pre-pull, risparmiando i costi di calcolo.

Operazioni preliminari

Avviso

Per mantenere tutte le macchine virtuali deallocate, è necessario impostare La modalità di riduzione su Deallocare. Include le macchine virtuali che sono state deallocate usando le API IaaS (API del set di scalabilità di macchine virtuali). L'impostazione della modalità di riduzione su Elimina rimuoverà tutte le macchine virtuali deallocate. Dopo aver applicato la modalità deallocata e aver eseguito l'operazione di riduzione delle prestazioni, questi nodi rimangono registrati nel server API e vengono visualizzati come stato NotReady.

Questo articolo presuppone che si disponga di un cluster del servizio Azure Kubernetes esistente. Se non si ha un cluster del servizio Azure Kubernetes, per indicazioni sulla progettazione di un'implementazione su scala aziendale del servizio Azure Kubernetes, vedere Pianificare la progettazione del servizio Azure Kubernetes.

Limiti

  • I dischi temporanei del sistema operativo non sono supportati. Assicurarsi di specificare dischi del sistema operativo gestiti includendo l'argomento --node-osdisk-type Managed durante la creazione di un cluster o di un pool di nodi.

Nota

In precedenza, mentre la modalità di riduzione era in anteprima, i pool di nodi spot non erano supportati. Ora che la modalità di riduzione è disponibile a livello generale, questa limitazione non si applica più.

Uso della modalità di riduzione per deallocare i nodi in caso di riduzione delle prestazioni

Impostando --scale-down-mode Deallocate, i nodi verranno deallocati durante una riduzione del cluster o del pool di nodi. Tutti i nodi deallocati vengono arrestati. Quando il pool di cluster/nodi deve aumentare le prestazioni, i nodi deallocati vengono avviati prima di eseguire il provisioning di nuovi nodi.

In questo esempio viene creato un nuovo pool di nodi con 20 nodi e si specifica che, al momento della riduzione delle prestazioni, i nodi devono essere deallocati usando l'argomento --scale-down-mode Deallocate.

az aks nodepool add --node-count 20 --scale-down-mode Deallocate --node-osdisk-type Managed --max-pods 10 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Ridimensionando il pool di nodi e modificando il numero di nodi su 5, verranno deallocati 15 nodi.

az aks nodepool scale --node-count 5 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Per deallocare i nodi Windows durante la riduzione delle prestazioni, eseguire il comando seguente. Il comportamento predefinito è coerente con i nodi Linux, in cui i nodi vengono eliminati durante la riduzione delle prestazioni.

az aks nodepool add --node-count 20 --scale-down-mode Deallocate --os-type Windows --node-osdisk-type Managed --max-pods 10 --name npwin2 --cluster-name myAKSCluster --resource-group myResourceGroup

Eliminazione di nodi deallocati in precedenza

Per eliminare i nodi deallocati, è possibile modificare la modalità di riduzione in Delete impostando --scale-down-mode Delete. I 15 nodi deallocati verranno ora eliminati.

az aks nodepool update --scale-down-mode Delete --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Nota

La modifica della modalità di riduzione delle istanze da Deallocate a Delete, poi di nuovo a Deallocate, eliminerà tutti i nodi deallocati mantenendo il pool di nodi in modalità di riduzione delle prestazioni Deallocate.

Uso della modalità di riduzione delle prestazioni per eliminare i nodi con scalabilità orizzontale

Il comportamento predefinito del servizio Azure Kubernetes senza usare la modalità di riduzione delle prestazioni consiste nell'eliminare i nodi quando si aumenta il numero di istanze del cluster. Con la modalità di riduzione, questo comportamento può essere ottenuto in modo esplicito impostando --scale-down-mode Delete.

In questo esempio viene creato un nuovo pool di nodi e si specifica che i nodi verranno eliminati in caso di riduzione delle prestazioni usando l'argomento --scale-down-mode Delete. Le operazioni di ridimensionamento verranno gestite tramite il ridimensionamento automatico del cluster.

az aks nodepool add --enable-cluster-autoscaler --min-count 1 --max-count 10 --max-pods 10 --node-osdisk-type Managed --scale-down-mode Delete --name nodepool3 --cluster-name myAKSCluster --resource-group myResourceGroup

Passaggi successivi