# Node pools
Source: https://docs.infraista.com/en/compute/kubernetes/node-pools



A cluster runs its workloads on **node pools**: groups of identical worker nodes. Manage them on the
cluster's **Node pools** tab.

<Shot name="compute/kubernetes/node-pools" alt="The Node pools tab with the workers and batch pools, their node plans, node counts and monthly prices" />

The summary at the top shows the number of pools and nodes, and what the worker nodes cost per month.

## Add a node pool [#add-a-node-pool]

1. Select **Add node pool**.
2. Enter a **Pool name**: lowercase letters, numbers and dashes, up to 32.
3. Optionally add **Labels** as comma-separated `key=value` pairs, for example `workload=render`, to
   steer pods to these nodes.
4. Pick the **Node plan** and the number of **Nodes**. The form shows the pool's monthly cost.
5. Select **Add pool**.

A cluster can have up to 10 pools, up to 20 nodes per pool and up to 100 nodes in all.

## Change the number of nodes [#change-the-number-of-nodes]

Select **Resize** on a pool, set the number of nodes and select **Apply**. The form shows the new cost.
Removing nodes drains them first, so their pods move to other nodes.

You can scale once the cluster has finished its current change.

## Work with a single node [#work-with-a-single-node]

Select **Show nodes** on a pool to list its nodes with their status, internal IP, version and age.
For each node:

* **Drain** moves pods off the node and stops new ones from landing there.
* **Uncordon** lets pods land on a drained node again.
* **Recycle** drains the node, then replaces it with a fresh one.

## Delete a node pool [#delete-a-node-pool]

Select **Delete pool** and confirm. Its nodes are drained and removed, and stop being billed. Pods move
to the other pools if they fit.

## Related [#related]

* [Manage a cluster](/en/compute/kubernetes/manage-a-cluster)
