> For the complete documentation index, see [llms.txt](https://docs.ionos.com/cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/cloud/~/revisions/1AlFSZBNMIBgs7fiOwFD/managed-services/managed-kubernetes/how-tos/management-of-node-pools.md).

# Manage Node Pools

### Create a node pool

{% hint style="info" %}
**Prerequisites**: Make sure you have the appropriate permissions and that you are working within an **active** cluster. Only [<mark style="color:blue;">Contract Owners, Administrators, or Users</mark>](https://docs.ionos.com/dcd/administration/users-and-permissions#roles) with the **Create Kubernetes Clusters** permission can create node pools within the cluster. You should already have a [<mark style="color:blue;">VDC</mark>](/cloud/support/general-information/glossary-of-terms.md#vdc) in which the nodes can be provisioned.
{% endhint %}

**1.** Open **MANAGER Resources** > **Kubernetes Manager**

**2.** Select the cluster you want to add a node pool to from the list

**3.** Click **+ Create node pool**

![Create a node pool](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-8ec45da017438580a4f4bcb5c325c9a9aa2fabbd%2Fnodepool-create.png?alt=media)

**4.** Give the node pool a **Name**

{% hint style="info" %}
Note the naming conventions for Kubernetes:

* Maximum of 63 characters in length Begins and ends with an alphanumeric character (\[a-z0-9A-Z])
* Must not contain spaces or any other white-space characters
* Can contain dashes (-), underscores (\_), dots (.) in between
  {% endhint %}

**5.** Choose a **Data Center.** Your node pool will be included in the selected data center. If you don't have a data center, you must first create one.

**6.** Select **CPU** and **Storage Type**. Then proceed with the other properties of the nodes. The nodes of the pool will all have the properties you select here.

**7.** Select the **Node pool version** that you wish to run

**8.** Select the number of nodes in the node pool

**9.** Select **Storage Type**

**10.** Click **Create node pool**

![Create Kubernetes node pool modal](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-11fdfea4f93e8a75d43b9c15e149c7d99dd6022b%2Fcreate-nodepool.png?alt=media)

**Result:** Managed Kubernetes will start to provision the resources into your data center. This will take a while and the node pool can be used once it reaches the active state.

{% hint style="info" %}
Try to avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
{% endhint %}

### Update a node pool

For further management of node pools, select the cluster you want to manage a node pool for from the list

**1.** Select **Node pools in Cluster**

**2.** Set the **Node Count**, this is the number of nodes in the pool

**3.** Select **Version**, this is a version of Kubernetes you want to run on the node pool

**4.** Select **Attached private LANs** from the dropdown list

**5.** Select the day and time of your preferred maintenance window, necessary maintenance for Managed Kubernetes will be performed accordingly

**6.** Click **Update node pool**

![Updating a node pool modal](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-7b84f797aa137e9cba7ad8af3fd7698fb63a2514%2Fnodepools-incluster.png?alt=media)

Managed Kubernetes will start to align the resources in the target data center. In case you have selected a new version for Kubernetes the operation may take a while and the node pool will be available for further changes once it reaches the active state.

Try to avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.

{% hint style="info" %}
The **maintenance window** starts at the time of your choosing and remains open for another four hours. All planned maintenance work will be performed within this window, however, not necessarily at the beginning.
{% endhint %}

### Delete a node pool

**1.** Open **Containers** > **Managed Kubernetes**

**2.** Select the cluster from which you want to remove the node pool.

**3.** Select **Node pools in Cluster** to delete the node pool.

**4**. Click **Delete**.

Managed Kubernetes will start to remove the resources from the target data center and eventually delete the node pool.

{% hint style="info" %}
Try to avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
{% endhint %}

### Rebuild a node

When a node fails or becomes unresponsive you can rebuild that node. This will create a new node with an identical configuration that will replace the failed node. Make sure your node is **active**.

**1.** Open **Containers** > **Managed Kubernetes**

**2.** Select the cluster and node pool that contains the failed node

**3.** Click the rebuild button of the node

**4.** Confirm the operation

![](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-9b2f80fe5ecc42d2d33c086bf70f3c0fa4446728%2Frebuild-node.png?alt=media)

**Result**: Managed Kubernetes starts a process, which is based on the node pool template. The template creates and configures a new node. It then waits for the status to display as **ACTIVE**. Once **Active** it migrates all the pods from the faulty node, deleting it once empty. While this operation occurs, the node pool will have an extra billable active node.

{% hint style="info" %}
Try to avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ionos.com/cloud/~/revisions/1AlFSZBNMIBgs7fiOwFD/managed-services/managed-kubernetes/how-tos/management-of-node-pools.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
