How it works
Autoscaling is configured per node group with three settings:| Setting | Meaning |
|---|---|
| Enabled | Whether the autoscaler manages this group’s node count |
| Min | The group never shrinks below this many nodes (minimum 1) |
| Max | The group never grows beyond this many nodes (up to 100) |
- The Cluster Autoscaler runs in your cluster and watches for unschedulable pods and underutilised nodes.
- It talks to the Ankra agent in-cluster (over mutual TLS), which forwards scaling decisions to the Ankra platform.
- The platform creates or drains/deletes the actual cloud servers through the same provisioning pipeline used for manual scaling - every change shows up as an operation and an audit entry attributed to
cluster-autoscaler.
Enabling autoscaling requires a recent
ankra-agent (the platform tells you the minimum version if the cluster’s agent is too old). The Cluster Autoscaler itself is installed automatically the first time you enable autoscaling on any group - no manual Helm work needed.Enable at cluster creation
In the create wizard for Hetzner, OVHcloud, or UpCloud, toggle Enable autoscaling on a node group and set Min/Max. The node count becomes the group’s initial count and must lie within the bounds. Via the API, include anautoscaling object per node group:
Enable on an existing cluster
Via the Platform UI
Toggle autoscaling on the node group
On the node group card, switch Autoscaling on and set Min and Max. The manual node-count stepper becomes read-only (“Managed by autoscaler”).
Via the CLI
Via the API
Interaction with manual scaling
Per-group manual scaling stays available while autoscaling is enabled, but the requested count is clamped into[min, max] - you cannot manually push an autoscaled group outside its bounds. The legacy whole-cluster worker scale (ankra cluster scale) is refused while any group is autoscaling-enabled, since it removes workers across all groups indiscriminately. To take full manual control again, disable autoscaling first.
New nodes added by the autoscaler carry the group’s labels and taints, plus the canonical ankra.cloud/node-group label Ankra uses to track group membership.
Behaviour details
- Scale-down is conservative by default: a node must be unneeded for ~10 minutes, and scale-down pauses for 10 minutes after any scale-up.
- Failed provisioning is self-healing: if a cloud server fails to create or join, the autoscaler is told about the failure and backs off; stuck half-created servers are garbage-collected automatically.
- Node upgrades and autoscaling do not fight: a node the autoscaler is draining for removal is skipped by Kubernetes version upgrades.
- Control planes are never autoscaled - only worker node groups.
Limitations (v1)
- Min must be at least 1. Scale-to-zero is not supported yet: the autoscaler templates new nodes from a live node of the group.
- While a group has zero Ready nodes, scale-up is degraded for the same reason.
- Deleting a node group removes its autoscaling settings with it.