Autoscaling Node Pools
An autoscale node pool automatically adjusts its worker node count between a minimum and a maximum based on a scaling policy. This lets a cluster add capacity under load and release it when idle, so you pay for what your workload actually needs.
You enable autoscaling and pick a policy when you create a cluster or add/edit a node pool. This page explains the policy options.
A pool can use an Elastic Policy, a Scheduled Policy, or both together.
Elastic Policy
The Elastic Policy scales the pool based on resource utilization. It comes in two types: Default or Custom.
Default
The default policy scales on a built-in metric:
- CPU - scales the node count based on CPU utilization. When CPU utilization crosses the threshold, nodes are added; when it falls, nodes are removed.
- Memory - scales the node count based on memory utilization, the same way.
You define the scale-up and scale-down behavior with:
- Node Utilization - the threshold values that trigger a scale-up (increase the node count) or scale-down (decrease the node count).
- Scaling Period Policy:
- Watch Period - how many periods the metric must hold before scaling.
- Period Duration - the length of each period, in seconds.
- Cooldown - how long to wait after a scaling action before scaling again, in seconds.
Custom
A custom policy scales on an attribute you define instead of CPU or memory - for example, network traffic (NETTX) or disk write operations (DISKWRIOPS).
- Policy Parameter Name - the name of the custom attribute to monitor. It must contain only uppercase letters, digits, and single underscores between segments (it cannot be
CPUorMEMORY). - The custom parameter's value defaults to 0 at launch.
- The same Node Utilization and Scaling Period Policy fields apply.
When the custom parameter crosses the threshold, nodes are added; when it drops below, nodes are removed. You update the parameter's value yourself using a generated cURL command (see below).
Update a Custom Parameter with cURL
- After the cluster is Running, open the Node Pool tab and expand the autoscale pool.
- Select Get cURL to generate the command for that pool's custom parameter.
- Copy the command. It contains placeholders for your API key and Bearer token - replace them with your real values (find them in the API section of the portal).
- Set the custom parameter value in the request body and run the command (in your terminal, a script, a cron job, or Postman).
You can only update the custom parameter's value with this command - not other pool settings. The dialog also shows the parameter's current value.
Scheduled Policy
A scheduled policy scales the pool on a recurring schedule, which suits predictable traffic patterns (for example, scaling up during business hours and down overnight).
- Recurrence - when the scaling action runs, expressed as a cron schedule.
- Upscale Recurrence - the number of nodes to scale to at the scheduled upscale time. This value must be within the pool's maximum.
- Downscale Recurrence - the number of nodes to scale to at the scheduled downscale time, within the pool's minimum.
Elastic and Scheduled Policy
Select Elastic and Scheduled Policy to combine both: the pool responds to utilization in real time and follows the schedule. Configure the parameters for each, then proceed.
Related Resources
| Resource | Use it for |
|---|---|
| Create a Cluster | Set up an autoscale pool at creation. |
| Node Pools | Edit, resize, and view pool policies. |
| Auto Scaling | Standalone (non-Kubernetes) auto scaling. |