azure-aksazure-monitoring

VMSS Predictive Autoscale and AKS


In 2022, several companies released services to autoscale Kubernetes clusters based on predictions. For example, Dysnix released PredictKube in integration with KEDA, and Alibaba launched AHPA. In the same year, Azure Monitor announced predictive autoscale for Azure Virtual Machine Scale Sets.

Since VMSS autoscale operates externally to AKS control, I'm wondering if this is Microsoft's response to the increasing demand. If so, wouldn't the VMSS predictive autoscale potentially conflict with AKS autoscale if set to automatic instead of manual? Also, if that's the case, what are Microsoft's best practices for enabling predictive scaling of AKS nodes?

AKS Autoscale enter image description here

VMSS Predictive Autoscale enter image description here


Solution

  • VMSS Predictive Autoscale and AKS

    The predictive autoscaling in VMSS can be seen as part of proactive approach to scaling. While AKS autoscaling operates based on real-time metrics at the Kubernetes layer, VMSS predictive autoscaling anticipates future demands by analysing historical data, scaling the underlying VM instances ahead of predicted load.

    Conflict between AKS and VMSS autoscaling mechanisms arises when both are set to automatic. AKS’s automatic scaling responds to immediate resource requirements within the cluster, while VMSS predictive autoscaling acts in advance of changes in load. If not correctly aligned, these two autoscaling approaches could lead to over-provisioning.

    Azure sync'sAKS autoscaling with VMSS predictive autoscaling by combining AKS’s real-time scaling with VMSS’s predictive capabilities. for further clarification refer below documents.

    References: