How the autoscaler works
You specify the minimum and the maximum size of a node group, and the Kubernetes cluster periodically checks the status of the pods and the nodes:
- If the pods can't be scheduled onto the existing nodes due to insufficient resources (vCPU, RAM), the number of nodes in the group gradually increases to the maximum specified.
- If the load on the nodes is insufficient and all pods can be scheduled onto fewer nodes in the group, the number of nodes gradually decreases to the minimum specified. If the pods in a node cannot be evicted, the node will not change.
When calculating the current limits and quotas, Managed Service for Kubernetes uses the specified maximum node group size as the actual size, regardless of the current group size.
The node group autoscaler is different from Horizontal Pod Autoscaler. The Horizontal Pod Autoscaler uses a controller to periodically request resource usage based on the metrics defined in each Kubernetes API HorizontalPodAutoscaler object. You can use both mechanisms in parallel.