π Introduction#
When I first heard about Karpenter, I was skeptical. Weβd already invested time tuning the Cluster Autoscaler, had spot instances in place, and swapping out a core part of our infrastructure felt risky.
But then the AWS bill landed.
And a few too many Slack messages like:
βWhy are we still scaling to r5.4xlarge for background jobs?β
So, we decided to give Karpenter a shot β and the results were way better than we expected.
The Problem#
We run a moderately sized EKS cluster that handles both long-running services and bursty background jobs. Even with autoscaling enabled, we kept running into familiar pain points:
- β Inefficient instance types being selected
- π Slower pod scheduling during peak traffic
- πΈ Over-provisioning due to rigid node group configurations
- β οΈ Spot instance churn causing workload disruptions
Managing scaling logic was becoming a weekly chore, and the nodes never quite matched the workload.
Why Karpenter?#
Karpenter is an open-source Kubernetes autoscaler built by AWS. Unlike the Cluster Autoscaler, it provisions nodes dynamically, skipping predefined node groups entirely.
What stood out for us:
- β Works directly with the Kubernetes scheduler
- β Doesnβt require Auto Scaling Groups or Launch Templates
- β Supports smart instance selection (on-demand + spot)
- β Scales nodes up/down within seconds
What Changed#
Within the first week of rollout, we saw real impact:
- π 28% lower EC2 costs β mostly from smarter spot instance usage
- β‘ 2x faster pod scheduling during bursts
- π οΈ Less ops overhead β no more tweaking node group configs
- π Happier developers β fewer complaints about pods stuck in
Pending
Karpenter was launching just the right instance types, with just enough resources. No more overkill, no more lag.
What We Learned#
- π Karpenter skips node groups entirely β no ASGs or launch templates needed
- π― Instance selection is dynamic and workload-driven
- π¦ Multiple provisioners help isolate spot vs. on-demand workloads
- π You still need to monitor evictions and spot availability by region
For bursty jobs or unpredictable traffic, Karpenter really shines.
Would I Recommend It?#
Yes β 100%.
If youβre running on EKS and still using Cluster Autoscaler, Karpenter is worth trying. Itβs not a magic bullet, but it gave us meaningful cost savings and freed up engineering time.
The cost savings were nice, but the time saved by our team was the real win.