Consolidation and Spot: continuously cheaper, safely
Provisioning is half of Karpenter. The other half is consolidation: continuously asking whether the cluster could do the same work with fewer or cheaper nodes. Empty nodes are removed. Underutilised nodes are replaced: Karpenter simulates moving their Pods to other nodes or to a single cheaper node, and if that works it launches the replacement, drains the old nodes and terminates them. The animation shows three half-empty nodes consolidating into one.
Because consolidation voluntarily moves Pods, it respects PodDisruptionBudgets and honours graceful termination. You control how aggressive it is through consolidationPolicy and consolidateAfter, and you can cap simultaneous disruption with budgets, including time-windowed budgets that freeze consolidation during peak hours or release windows.
Spot is where the flexible instance pool pays off. Karpenter can spread across many Spot capacity pools, reducing the chance that one pool being reclaimed hurts you. It subscribes to Spot interruption notices (delivered through EventBridge to an SQS queue you configure), starts a replacement, and drains the doomed node within the two-minute warning. Whether Pods exit cleanly is up to them: handle SIGTERM and keep replicas spread.
Production gotcha: consolidation plus single-replica Pods without PDBs equals brief outages. Run at least two replicas for anything that matters, add PDBs, and use do-not-disrupt annotations sparingly for jobs that must not be interrupted.