Workload tiered Nodepools: Right capacity for the right workload
Isolate workloads into dedicated NodePools based on their characteristics — this prevents low-priority batch jobs from blocking expensive on-demand capacity meant for production, and allows tailored cost strategies per workload type.
Actions
Create separate NodePools based on workload criticality to manage disruption and keep blocking nodes isolated from other workloads. The sample manifest provides three NodePool configurations:
critical-workloads — On-Demand, Graviton, with time-based disruption budgets (conservative during business hours, zero during peak, aggressive on weekends)
non-pdb-workloads — Spot-first for stateless workloads with 50% disruption tolerance
gpu-workloads — On-Demand GPU instances with
WhenEmptyconsolidation andnvidia.com/gputaint
For complete NodePool manifests, see the workload-tiered-nodepools.yaml
Key takeaway: Map your workloads into the correct nodepool based on workload requirements. You can also create nodepools based on tiers (production, staging, batch, dev). This will help to explore Spot savings options for non-production workload as well.
For the complete scripts and manifests, see the 04-karpenter-cost-optimization