Node group autoscaling in Managed Service for Kubernetes
The cluster autoscaler resizes the node group based on resource requests for the pods running on the nodes of that group.
How the autoscaler works
When creating a node group, you specify the minimum and maximum number of nodes in the group, and the Kubernetes cluster will check the status of pods and nodes from time to time:
- If pods cannot be assigned due to a lack of resources (vCPU, RAM) on the existing nodes, the number of nodes in the group will gradually increase to the specified maximum number.
- If the load on the nodes is insufficient, and all pods can be assigned with fewer nodes per group, the number of nodes per group will gradually decrease to the specified minimum number.
Autoscaling features
You can resize an autoscaling group using Kubernetes cluster-autoscaler
- If you can distribute the load in a cluster to a smaller number of nodes, but you cannot evict pods from the nodes for some reason, the number of nodes in a group will not decrease.
- The actual number of nodes in a group may be below the minimum size of a node group. This may occur if:
- Autoscaling group was scaled up from its minimum size after being created.
- Actual cluster load does not require more nodes than the cluster currently has.
- You can place an autoscaling node group only in one availability zone.
Tip
If unexpected behavior occurs, we recommend referring to the Kubernetes cluster-autoscaler FAQ
Note
When calculating the current limits and quotas
The node group autoscaler is different from Horizontal Pod Autoscaler