Handling Node Churn in Karpenter: Efficient Scaling for Large EKS...
summary
Karpenter (for EKS) is tuned with consolidateAfter=2m/5m, expireAfter=600s, terminationGrace=60s and tested with 50 replicas scaled to 5 and 0. Pods annotated do-not-disrupt block consolidation until expireAfter+grace, while empty nodes are reclaimed in ~3 minutes (2m consolidateAfter + 1m grace). Three node-pool strategies are validated; a three-way split (do-not-disrupt / critical / standard) balances stability and cost and consistently prevents runaway node churn.
AI-written summary · about
chapters (15)
- 0:00Karpenter and node churn intro
- 1:04What Karpenter is and how it works
- 3:55Key benefits of Karpenter
- 5:02Node churn challenge in Kubernetes
- 6:48Karpenter configs for node churn
- 10:20Test: no termination grace period
- 11:24Test: with termination grace period
- 13:09Test: consolidation when empty
- 15:18Test: consolidation with do-not-disrupt pods
- 17:26Test: consolidation without do-not-disrupt pods
- 18:52Recommendations after testing
- 19:55Node pool strategy: workload isolation
- 22:23Node pool strategy: granular split
- 24:52Node pool strategy: simplified model
- 26:16Summary and best practices
related talks
22mKarpenter Efficient scaling of Kubernetes clusters
33mNavigating and Optimizing Karpenter - Avoiding Common Pitfalls
01h 01mJust-in-time Nodes for Any AWS EKS Cluster: Karpenter
22mUse Karpenter to scale, optimize & upgrade K8s
27mHarness the power of Karpenter to scale, optimize & upgrade K8s
36mGroupless Autoscaling with Karpenter
19mJust in time Worker Nodes with Karpenter
40mOptimize EKS Cost and Scaling with Karpenter
