$linuxjunkies
>

cluster autoscaler

also: autoscaler, CA

A Kubernetes component that automatically adds or removes nodes from a cluster based on resource requests and utilization, scaling the underlying infrastructure up or down as needed.

Cluster autoscaler is a Kubernetes controller that monitors pending pods and node resource utilization, then automatically provisions new nodes when there isn't enough capacity to schedule pods, or removes underutilized nodes to reduce costs.

It works by watching for pods that cannot be scheduled due to insufficient resources (CPU, memory) on existing nodes. When detected, it signals the cloud provider or infrastructure platform to create new nodes. Conversely, when nodes remain underutilized for a period, the autoscaler removes them after gracefully draining their workloads.

Example: A deployment requires 50 CPU cores but your 3 nodes only provide 30 cores total. The cluster autoscaler detects this and automatically provisions 2 more nodes. Later, when load decreases and nodes fall below 50% utilization for 10 minutes, the autoscaler removes empty nodes.

Cluster autoscaler integrates with cloud providers like AWS (EC2), Google Cloud (GKE), and Azure (AKS) to manage infrastructure scaling in containerized environments.

Related terms