pydo.kubernetes.add_node_pool()

Generated on 9 Jun 2026 from pydo version v0.36.0

Usage

client.kubernetes.add_node_pool(
    cluster_id="bd5f5959-5e1e-4205-a714-a914373942af",
    body={
        "size": "s-1vcpu-2gb",
        "name": "frontend-pool",
        "count": 3,
        ...,
    },
)
Returns JSONRaises HttpResponseError

Description

To add an additional node pool to a Kubernetes clusters, send a POST request to /v2/kubernetes/clusters/{cluster_id}/node_pools with the following attributes.

Parameters

cluster_id string required

A unique ID that can be used to reference a Kubernetes cluster.

Min: 1

size string required

Example: s-1vcpu-2gb

The slug identifier for the type of Droplet used as workers in the node pool.

id string optional read-only

Example: cdda885e-7663-40c8-bc74-3a036c66545d

A unique ID that can be used to identify and reference a specific node pool.

name string required

Example: frontend-pool

A human-readable name for the node pool.

count integer required

Example: 3

The number of Droplet instances in the node pool.

tags array of strings optional

Example: ['k8s', 'k8s:bd5f5959-5e1e-4205-a714-a914373942af', 'k8s-worker', 'production', 'web-team']

An array containing the tags applied to the node pool. All node pools are automatically tagged k8s, k8s-worker, and k8s:$K8S_CLUSTER_ID.

Requires tag:read scope.

labels object or null optional

An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool.

taints array of objects optional

An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool.

Show child properties
key string optional

Example: priority

An arbitrary string. The key and value fields of the taint object form a key-value pair. For example, if the value of the key field is "special" and the value of the value field is "gpu", the key value pair would be special=gpu.

value string optional

Example: high

An arbitrary string. The key and value fields of the taint object form a key-value pair. For example, if the value of the key field is "special" and the value of the value field is "gpu", the key value pair would be special=gpu.

effect string optional

How the node reacts to pods that it won't tolerate. Available effect values are NoSchedule, PreferNoSchedule, and NoExecute.

One of: NoSchedule, PreferNoSchedule, NoExecute

auto_scale boolean optional

Example: True

A boolean value indicating whether auto-scaling is enabled for this node pool.

min_nodes integer optional

Example: 3

The minimum number of nodes that this node pool can be auto-scaled to. The value will be 0 if auto_scale is set to false.

max_nodes integer optional

Example: 6

The maximum number of nodes that this node pool can be auto-scaled to. The value will be 0 if auto_scale is set to false.

nodes array of objects optional read-only

An object specifying the details of a specific worker node in a node pool.

Show child properties
id string optional

Example: e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f

A unique ID that can be used to identify and reference the node.

name string optional

Example: adoring-newton-3niq

An automatically generated, human-readable name for the node.

status object optional

An object containing a state attribute whose value is set to a string indicating the current status of the node.

Show child properties
state string optional

A string indicating the current status of the node.

One of: provisioning, running, draining, deleting

droplet_id string optional

Example: 205545370

The ID of the Droplet used for the worker node.

created_at string optional

Example: 2018-11-15T16:00:11Z

A time value given in ISO8601 combined date and time format that represents when the node was created.

updated_at string optional

Example: 2018-11-15T16:00:11Z

A time value given in ISO8601 combined date and time format that represents when the node was last updated.

Request Sample

Show Request Sample
import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "size": "s-1vcpu-2gb",
  "count": 3,
  "name": "new-pool",
  "tags": [
    "frontend"
  ],
  "auto_scale": True,
  "min_nodes": 3,
  "max_nodes": 6
}

resp = client.kubernetes.add_node_pool(cluster_id="ba9d8da", body=req)

Response Example

Show Response Example
{
  "node_pool": {
    "id": "cdda885e-7663-40c8-bc74-3a036c66545d",
    "name": "new-pool",
    "size": "s-1vcpu-2gb",
    "count": 3,
    "tags": [
      "production",
      "web-team",
      "front-end",
      "k8s",
      "k8s:bd5f5959-5e1e-4205-a714-a914373942af",
      "k8s:worker"
    ],
    "labels": null,
    "taints": [],
    "auto_scale": true,
    "min_nodes": 3,
    "max_nodes": 6,
    "nodes": [
      {
        "id": "478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f",
        "name": " ",
        "status": {
          "state": "provisioning"
        },
        "droplet_id": " ",
        "created_at": "2018-11-15T16:00:11Z",
        "updated_at": "2018-11-15T16:00:11Z"
      },
      {
        "id": "ad12e744-c2a9-473d-8aa9-be5680500eb1",
        "name": " ",
        "status": {
          "state": "provisioning"
        },
        "droplet_id": " ",
        "created_at": "2018-11-15T16:00:11Z",
        "updated_at": "2018-11-15T16:00:11Z"
      },
      {
        "id": "e46e8d07-f58f-4ff1-9737-97246364400e",
        "name": " ",
        "status": {
          "state": "provisioning"
        },
        "droplet_id": " ",
        "created_at": "2018-11-15T16:00:11Z",
        "updated_at": "2018-11-15T16:00:11Z"
      }
    ]
  }
}

More Information

See /v2/kubernetes/clusters/{cluster_id}/node_pools in the API reference for additional detail on responses, headers, parameters, and more.

We can't find any results for your search.

Try using different keywords or simplifying your search terms.