Architecting a single Karpenter cluster for ML, Backend, and Batch teams means getting NodePool weights and taint-based isolation right — or pods land somewhere expensive and wrong.
You'll learn:
- How to define separate NodePools per team — ml-gpu (p3/p4 instances), backend (m5/m6), and batch-spot (Spot, any family)
- How Karpenter's spec.weight field drives pool selection: higher weight wins, ties break randomly
- The exact selection sequence — Karpenter first finds every pool that can satisfy the pod, then ranks by weight
- Why taints alone aren't enough: pairing gpu=true:NoSchedule and spot=true:NoSchedule with matching tolerations gives you hard isolation
- Senior gotcha: labels control scheduling preference, taints enforce it — you need both for airtight multi-team separation
Keywords: Karpenter NodePool weights, multi-team Kubernetes cluster, Karpenter GPU NodePool, Karpenter spot instances, Kubernetes taint isolation
🎧 Listen, then go deeper — DevOps & Cloud interview-prep ebooks at DevOpsInterview.Cloud