Scalabilità automatica del cluster nel servizio Azure Kubernetes abilitata da Azure Arc

Si applica a: servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server

È possibile modificare il numero di nodi che eseguono carichi di lavoro dell'applicazione in AKS Arc usando servizio Azure Kubernetes (servizio Azure Kubernetes) per mantenere il passo con la domanda. È possibile usare PowerShell per abilitare la scalabilità automatica e gestire il ridimensionamento automatico dei pool di nodi nei cluster di destinazione.

Questo articolo descrive il contesto del ridimensionamento automatico nel servizio Azure Kubernetes abilitato da Arc e il funzionamento del ridimensionamento automatico. Per il corretto funzionamento della scalabilità automatica del cluster, è anche possibile usare il ridimensionamento automatico orizzontale dei pod Kubernetes, ovvero un componente Kubernetes standard. Per altre informazioni sulla scalabilità automatica orizzontale dei pod kubernetes, vedere Scalabilità automatica orizzontale dei pod.

La scalabilità automatica del cluster

Nel servizio Azure Kubernetes il ridimensionamento automatico del cluster controlla i pod nel cluster che non possono essere pianificati a causa di vincoli di risorse. Quando vengono rilevati problemi, il numero di nodi in un pool di nodi aumenta per soddisfare la domanda dell'applicazione. Anche i nodi vengono controllati regolarmente per la mancanza di pod in esecuzione e quindi il numero di nodi diminuisce, in base alle esigenze. Questa possibilità di aumentare o ridurre automaticamente il numero di nodi nel cluster del servizio Azure Kubernetes consente di eseguire cluster efficienti e convenienti. La scalabilità automatica è la possibilità del sistema di regolare automaticamente i carichi di lavoro tramite automazione e configurazione che contiene parametri specifici in base a input, misure e regole.

Per abilitare il ridimensionamento automatico del cluster, il servizio Azure Kubernetes deve implementare la gestione delle risorse di base. Il servizio Azure Kubernetes stima i requisiti delle risorse che attiveranno gli eventi di scalabilità automatica in un momento specifico. Il servizio Azure Kubernetes non tiene conto del consumo di risorse dall'esterno di Arc del servizio Azure Kubernetes. Ad esempio, quando si aggiungono macchine virtuali dopo aver abilitato il ridimensionamento automatico, questo evento si verifica all'esterno del contesto del ridimensionamento automatico.

Scopo della scalabilità automatica del cluster

Il ridimensionamento automatico aumenta automaticamente le dimensioni di un pool di nodi dal numero minimo al numero massimo di nodi specificato. Quando si abilita il ridimensionamento automatico, il ridimensionamento automatico determina se il numero massimo di nodi è fattibile e avvisa l'utente del provisioning eccessivo delle risorse hardware disponibili.

Il ridimensionamento automatico tiene traccia delle risorse disponibili e promesse in tutti i cluster di destinazione e i pool di nodi distribuiti. Il scaler usa questi dati per prendere una decisione informata. Man mano che l'utilità di scalabilità automatica aumenta il pool di nodi, il ridimensionamento automatico verifica la disponibilità delle risorse.

Azure Kubernetes Arc usa la funzionalità di scalabilità automatica kubernetes predefinita per supportare operazioni simili alla scalabilità automatica di Azure.

Funzionamento della scalabilità automatica del cluster

L'utilità di scalabilità automatica si adatta alla modifica delle richieste dell'applicazione. Man mano che le richieste cambiano tra carichi lavorativi e serali, il ridimensionamento automatico sposta le risorse del cluster. I cluster Kubernetes vengono ridimensionati in due modi:

  • Trigger basati sull'utilizzo del nodo. L'utilità di scalabilità automatica del cluster cerca i pod che non possono essere pianificati nei nodi a causa di vincoli delle risorse. Il ridimensionamento automatico del cluster riduce il numero di nodi quando è stata usata la capacità per il tempo.
  • Trigger definiti nei profili di scalabilità automatica. Il ridimensionamento automatico del cluster usa parametri di avvio per trigger come intervalli di tempo tra gli eventi di scalabilità e le soglie delle risorse. Vedere Profili di scalabilità automatica.

Quando si abilita la scalabilità automatica in un pool di nodi, il profilo predefinito viene applicato a meno che non si esegua l'override di una o più impostazioni usando il -ClusterAutoScalingProfile parametro in Set-AksHciCluster. A meno che non vengano abilitati, lo stato predefinito del ridimensionamento automatico del nodo è disabilitato sia al momento della creazione del cluster che del pool di nodi.

Quando si abilita il ridimensionamento automatico per un cluster e non si fornisce un oggetto autoscalerconfig , il profilo di scalabilità automatica predefinito viene aggiunto al cluster. È quindi possibile ottimizzare i parametri nel profilo usando il Set-AksHciCluster comando e passando un oggetto autoscalerconfig con i valori aggiornati. Non è necessario specificare tutti i parametri nell'oggetto, ma è sufficiente specificare i parametri aggiornati nell'oggetto .

Uso del ridimensionamento automatico

È possibile impostare i parametri nel profilo di scalabilità automatica per configurare il ridimensionamento automatico. Per altre informazioni, vedere Come usare i profili di scalabilità automatica.

È possibile usare PowerShell per abilitare, configurare e disabilitare il ridimensionamento automatico. Per altre informazioni, vedere Usare PowerShell per la scalabilità automatica del cluster.

Scalabilità automatica del cluster durante un aggiornamento del cluster

Durante un aggiornamento e un aggiornamento del cluster, la scalabilità automatica viene sospesa e non viene eseguita alcuna operazione di ridimensionamento finché il cluster e tutti i pool di nodi nel cluster completano l'operazione di aggiornamento. Se un pool di nodi specifico in un cluster viene aggiornato a una versione più recente di Kubernetes, il ridimensionamento automatico per il pool di nodi viene sospeso. L'operazione di scalabilità automatica continua su tutti gli altri pool di nodi.

Passaggi successivi