Cluster Autoscaler has been the default Kubernetes node provisioner for years. Karpenter, now a CNCF project, promises faster scaling, better bin-packing, and lower cloud costs. After running both in different environments, here is what the numbers actually look like.

How Cluster Autoscaler Works

Cluster Autoscaler watches for unschedulable pods and adds nodes from pre-defined Auto Scaling Groups on AWS or Managed Node Groups on GKE. It scales down by identifying underutilised nodes and draining them. It is mature, well-tested, and works with any Kubernetes distribution. The limitation is that it operates at the node group level — you define instance types upfront, and if your workload needs a different instance type than your node group provides, pods stay pending until you manually add a new group.

How Karpenter Works

Karpenter is a node lifecycle controller that provisions nodes directly via cloud provider APIs with no Auto Scaling Groups required. When a pod is unschedulable, Karpenter evaluates the pod's requirements and provisions the optimal instance type in under 60 seconds. It considers hundreds of instance types simultaneously, prefers Spot instances with automatic on-demand fallback, aggressively consolidates workloads onto fewer nodes, and respects PodDisruptionBudgets during consolidation.

Provisioning Speed

Node provisioning speed matters during traffic spikes. Cluster Autoscaler typically takes 3–5 minutes from pod pending to node ready due to ASG warmup and node bootstrap time. Karpenter achieves 45–90 seconds from pod pending to node ready. For latency-sensitive workloads, this difference is significant. A 3-minute scale-out during a payment traffic spike is very different from a 60-second one.

Bin Packing and Consolidation

Karpenter's consolidation loop continuously evaluates whether workloads can be packed onto fewer nodes. Overnight batch jobs that scale up compute get cleaned up automatically by morning. Development clusters that sit idle get consolidated to one or two nodes instead of ten. Spot interruptions trigger immediate replacement with the next cheapest available instance.

Cost Impact

Teams migrating from Cluster Autoscaler to Karpenter on EKS workloads with variable demand typically report 20–40% reductions in EC2 spend. The gains are largest for teams running mixed Spot and on-demand fleets with spiky traffic patterns. The consolidation loop alone can eliminate 30–50% of idle node costs in development and staging environments.

When to Stick With Cluster Autoscaler

Stay with Cluster Autoscaler if you are on GKE since Karpenter is AWS and Azure native with only experimental GKE support. Also stay if your organisation's security policy requires ASG-based node management for compliance, if you have complex node group requirements that Karpenter NodePools cannot yet express, or if your team is already expert in CA and the migration cost outweighs the savings.

Conclusion

Karpenter wins on cost and speed for AWS EKS workloads with variable demand. The ROI is clearest for teams running mixed Spot and on-demand fleets with spiky traffic patterns. For stable, predictable workloads on GKE, Cluster Autoscaler remains the right choice.