When enabled, Karpenter will optimize capacity so that you don’t have under-utilized nodes • Cost savings ◦ Lower costs due to consolidation / packing ◦ Less nodes = less money spent • Requirements ◦ Resources requests must be set, in order for Karpenter to properly resize a cluster
◦ Use the do-not-evict=true annotation ◦ Karpenter will not rebalance nodes running pods marked with this annotation • Scheduled Node consolidation in dev environment ◦ Enable consolidation at night ◦ Reduce rebalancing in busy clusters during the day - so that devs aren’t affected by it
registry.k8s.io/pause ◦ Each replica of this deployment fills a single node • Extra empty Nodes stand-by ◦ These nodes are waiting for Karpenter scale up so that new workloads can be scheduled on these fresh nodes ◦ This removes the waiting time of creating new nodes for upscaling workloads • TL;DR: Faster workload upscaling ◦ Karpenter upscaling time = 2 minutes ◦ Overprovisioning upscaling time = 0 minutes.