Loading...
Groups of identical nodes, so one cluster can offer different hardware to different workloads.
Quick Definition
A node pool is a group of nodes within a cluster that share the same configuration, such as instance type or labels. Node pools let teams run different workloads on appropriately sized hardware, supporting both performance tuning and cost optimization.
A node pool is a group of nodes within a cluster that share the same configuration: machine type, disk, labels, and scaling rules. Pools let one cluster serve mixed needs, a general pool for everyday services, a GPU pool for ML, a spot pool for interruptible batch work, without forcing everything onto one hardware shape.
Pools are a cost design tool. Workloads are steered to the cheapest hardware that fits them: batch jobs to spot, memory-hungry caches to memory-optimized machines, everything else to general purpose. Each pool scales independently, including to zero, so expensive GPU machines exist only while GPU work is running.
Example. A team adds a spot node pool and labels its batch jobs to prefer it. Sixty percent of cluster compute shifts to capacity costing 70 percent less, while customer-facing services stay on the on-demand pool, completely unaffected.
The classic waste is a specialized pool whose minimum size keeps pricey machines alive overnight for nothing. Set minimums to zero where startup delay is acceptable. The Kubernetes Cost Management Guide covers pool strategy, and Kubernetes best practices covers the scheduling mechanics.
As few as cover your genuinely different needs. Common sets: general, spot, and one specialized pool such as GPU or high-memory.
Through labels, node selectors, and taints. Pods declare what they need; the scheduler matches them to pools that offer it.
Yes, and expensive specialized pools should. Nodes are created when matching work arrives and removed when it finishes.