Skip to navigation

Update a node pool

View as Markdown

All fields are optional. Changes to the Kubernetes version, release or other node configuration create a new NodeSet and roll the pool’s nodes to it.

Returns 400 for, among others: sending a field that is fixed at creation (for example instanceTypeID); nico.release: "".

Authentication

AuthorizationBearer

A JWT from an issuer the Operator has configured, carried as Authorization: Bearer <token>.

Path parameters

nodePoolIDstringRequiredformat: "uuid"
Node pool ID.

Request

The fields to change. All are optional.
autoProvisionDisabledbooleanOptional
Disables automatic provisioning for the pool.
autoModeDisabledbooleanOptional

Disables auto-mode (automatic node recycling).

provisioningMonitorDisabledbooleanOptional
When true, nodes stuck in provisioning past the timeout are not recycled automatically.
systemReservedMemorystringOptional
Memory reserved for system daemons. Nodes reserve 16Gi when omitted.
kubeReservedMemorystringOptional
Memory reserved for Kubernetes components. An empty string restores the 2Gi default.
descriptionstringOptional

Free-text description.

desiredNodeCountintegerOptional>=0

The desired number of nodes in the pool. Increasing aggregate control-plane capacity above 1 requires controlPlaneVIP on the cluster.

recycleBudgetintegerOptional>=0
Maximum number of nodes recycled at once.
maxSurgeintegerOptional>=0Defaults to 0

Nodes allowed above desiredNodeCount during a rollout. 0 means sequential: each node is torn down before its replacement is provisioned.

kubernetesVersionstringOptionalformat: "^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$"
Desired Kubernetes version for the pool's nodes, as X.Y.Z with no leading "v". Must be newer than the current version.
nicoobjectOptional

Fields fixed at creation (instanceTypeID, partitions, sshKeyGroupIDs) cannot be sent: a request carrying one is rejected with 400. A body echoed from GET must have them stripped.

launchLayerobjectOptional

All LaunchLayer node-pool fields (instanceType, hostOSProfile, vmProfile, fulfillmentStrategy, securityGroupRefs) are fixed at creation: a request carrying one is rejected with 400. A body echoed from GET must have them stripped.

Response

Update accepted
idstringformat: "uuid"
Node pool ID.
clusterIDstringformat: "uuid"
Parent cluster.
namestring
Node pool name. Unique within the cluster. Immutable.
nodeNamePrefixstring>=1 character

Node names are <cluster>-<prefix>-<NNNN> (four-digit suffix), at most 63 characters in total.

kubernetesVersionstring
Desired Kubernetes version for the pool's nodes. Inherits the cluster's version on create.
nodeLabelsmap from strings to strings
Labels applied to the pool's nodes, as a map of keys to values. Set at creation.
nodeTaintslist of objects
Taints applied to the pool's nodes. Set at creation.
conditionsobject

Lifecycle conditions: provisioning, provisioned, deleting.

desiredNodeCountinteger>=0
Number of nodes.
autoProvisionDisabledboolean
Disables automatic provisioning for the pool.
currentNodeSetIDstring or nullformat: "uuid"
The active NodeSet.
autoModeDisabledboolean

Disables auto-mode (automatic node recycling).

provisioningMonitorDisabledbooleanDefaults to false
When true, nodes stuck in provisioning past the timeout are not recycled automatically.
recycleBudgetinteger>=0
Maximum number of nodes recycled at once.
systemReservedMemorystringOptionalDefaults to 16Gi
Memory reserved for system daemons. Nodes reserve 16Gi when omitted.
kubeReservedMemorystringOptional
Memory reserved for Kubernetes components. Empty when the 2Gi default applies.
machineAnnotationsmap from strings to stringsOptional

Annotations set on CAPI Machines only when they are created, including Machines created during scale-out or replacement. Fixed at node-pool creation. Not reconciled after provisioning. Keys under nke.nvidia.com, nke.io, nvke.nvidia.com, kubernetes.io, k8s.io, cluster.x-k8s.io and their subdomains require an explicit deployment allowlist entry for this metadata type.

machineLabelsmap from strings to stringsOptional

Labels set on CAPI Machines only when they are created, including Machines created during scale-out or replacement. Fixed at node-pool creation. Not reconciled after provisioning. Keys under nke.nvidia.com, nke.io, nvke.nvidia.com, kubernetes.io, k8s.io, cluster.x-k8s.io and their subdomains require an explicit deployment allowlist entry for this metadata type.

descriptionstringOptional

Free-text description.

maxSurgeintegerOptional>=0Defaults to 0

Nodes allowed above desiredNodeCount during a rollout. 0 means sequential: each node is torn down before its replacement is provisioned.

nicoobjectOptional
NICo settings for the pool.
launchLayerobjectOptional
LaunchLayer settings for the pool.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error