Skip to main content
POST
Add node group

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

authorization
string | null
x-ankra-organisation-id
string | null

Path Parameters

cluster_id
string<uuid>
required

Query Parameters

wait
boolean
default:false

Body

application/json
instance_type
string
required
name
string
required
swap_gibibytes
integer

OVH k3s clusters on Kubernetes v1.36 or newer only: size in GiB of the encrypted swap every node the group ever creates is built with, 1 to 1024. Refused on kubeadm clusters, older releases and other providers.

Required range: 1 <= x <= 1024
swap_behavior
enum<string>

Kubelet swap behaviour of those nodes. Defaults to LimitedSwap when swap_gibibytes is set; refused without it.

Available options:
LimitedSwap
availability_zone
string

OVH 3-AZ regions only: pin every node of this group to one availability zone (e.g. eu-west-par-b). Omitted spreads the group across the cluster's zones.

zone
string

UpCloud multi-zone clusters only: pin every node of this group to one zone of the cluster's pool. Omitted spreads the group across the pool.

count
integer
default:1
Required range: 1 <= x <= 100
labels
Labels · object
taints
NodeTaint · object[]
user_data
string

OVH only: opaque cloud-init user data applied verbatim at first boot by every instance the group ever creates, replacements included. Max 65535 bytes.

Response

Successful Response

count
integer
required
dispatch
enum<string>
required

What the write did about the operation that applies it. started: operation_id names it, created in the same transaction as the write. deferred: the change is stored but no operation was started for it now; dispatch_reason says why and what applies it instead (the reconcile loop once a running operation has finished, or the cluster's next start). none: the write left nothing for an operation to apply (a scale to the group's current count, a removal on a stopped cluster, which the write applies to the group's records itself).

Available options:
started,
deferred,
none
group_name
string
required
operation_id
string<uuid> | null
required

The operation this write started, created in the same transaction as the write; poll it on /api/v1/org/executions/{execution_id}. It is the operation that creates the group's nodes, so when it finishes the nodes have been created. When the nodes needed no operation of their own and the group was added with autoscaling enabled, it is instead the operation that installs the cluster autoscaler, which moves no node, and dispatch_reason says so. Null when the write started none; dispatch says why.

dispatch_reason
string

Why no operation was started (deferred, none); what a started operation leaves to the reconcile loop (an offline cluster's agent work); and, for a group added with autoscaling enabled, the second operation the write started, which installs the cluster autoscaler and moves no node. Absent when a started operation carries the whole change and the write started no other.