VMSS Autoscaling Rules

Azure Autoscaling rules can be attached to an Azure Node pool to dynamically scale up or down the nodes within the nodepool.

Pre-requisite:

  1. In order to use the Azure Autoscaling rules, enable the microsoft.insights in the Azure Subscription.

  2. Login to your Azure account.

  3. Choose the Subscription and Under Resource Providers search for microsoft.insights and enable it.

Adding autoscaling rules to Azure node pool

While creating the cluster via gopaddle or while adding a node pool to the cluster via gopaddle, you can set the scaling rules for the node pool.

Metric defines the attribute to be monitored. Scaling can be performed based on the below mentioned metrics.

  1. Percentage CPU

  2. Network In

  3. Network Out

  4. Disk Read Bytes

  5. Disk Write Bytes

  6. Disk Read Operations/Sec

  7. Disk Write Operations/Sec

  8. CPU Credits Remaining

  9. CPU Credits Consumed

Measure specifies the measure of the metrics to be watched for. Measure can be one of the blow:

  1. Average

  2. Minimum

  3. Maximum

  4. Total

  5. Last

  6. Count

'When' specifies the operator. It can be :

Capacity specifies the value of the metric.

  • >=

  • <

  • <=

  • =

  • !=

Scale specifies whether to increase or decrease the node count in the node pool.

Scale by specifies the number of nodes to increase or decrease.

Scale Type specifies the behaviour once the scaling condition matches. It can be

  1. ChangeCount: Increase or decrease the number of nodes

  2. ExactCount: Maintain a specified number of nodes

  3. PertcentChangeCount: Increase or decrease the number of nodes by a percentage of the current nodes.

Watch Duration is the duration to watche the change in metric before triggering an autoscaling event.

Cooldown Period is the duration to wait before triggering the subsequent autoscaling event.

Time Window is the sampling duratin and is used to normalize the metrics collected. Say aggregate the data every 1 minute.

Statistic specifies the aggregation method for the time window. It can be :

  1. Average

  2. Min

  3. Max

  4. Sum

For more information on Azure Virtual Machine Scaling Set (VMSS), please check the document here.

Last updated