Skip to navigation

Update a cluster

View as Markdown

All fields are optional. See the API description for merge rules.

Returns 400 for, among others: a Kubernetes downgrade, major-version change, or a jump of more than one minor version; an upgrade that would leave a worker pool more than 3 minor versions behind; enableEtcdEncryption: false or enableOidc: false; combining OIDC or etcd enablement with a version upgrade; etcd or OIDC enablement on a cluster that is not provisioned or is deleting; any network value; a control-plane maxSurge greater than 1.

Returns 409 when another mutually exclusive cluster operation is in progress (etcd_encryption, k8s_upgrade, cp_nodes_recycling, oidc_enable), or the control plane is upgrading or recycling nodes.

Authentication

AuthorizationBearer

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

Path parameters

clusterIDstringRequiredformat: "uuid"
Cluster ID.

Request

The fields to change. All are optional.
enableCPNodeRecyclingbooleanOptional

Turn automatic control-plane node replacement on or off.

controlPlaneKubernetesVersionstringOptionalformat: "^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$"

Target control-plane version, as X.Y.Z with no leading “v”. Must be newer than the current version by at most one minor version and keep every worker pool within 3 minor versions. The cluster must have controlPlaneVIP configured.

enableEtcdEncryptionbooleanOptional

true starts one-way etcd encryption on a provisioned cluster. false is rejected. true on an already-encrypted cluster does nothing. Other updates return 409 while it runs.

enableOidcbooleanOptional

true starts one-way OIDC authentication enablement. false is rejected. Cannot be combined with a control-plane upgrade or etcd enablement. Other updates return 409 while it runs.

controlPlaneConfigobjectOptional

Changes to release or the Kubernetes version start a control-plane rollout. All fields are optional. A provider payload that does not match the cluster’s provider is rejected with 400. Rollout-triggering changes require controlPlaneVIP. maxSurge alone does not trigger a rollout and remains mutable without a VIP.

networkobjectOptional

The cluster network cannot be changed after creation; any network value in an update is rejected.

Response

Update accepted
idstringformat: "uuid"
Cluster ID.
namestring
Cluster name.
controlPlaneKubernetesVersionstring

Desired control-plane Kubernetes version. The running version is in ControlPlaneStatus.

cniPluginstring
CNI plugin.
cniVersionstring
CNI version.
etcdEncryptedboolean
Whether etcd is encrypted at rest.
networkobject
Pod and service network.
createdAtdatetime
Creation time.
conditionsobject
Lifecycle conditions.
controlPlaneVIPstringOptionalformat: "ipv4"
API server VIP, if configured.
enableCPNodeRecyclingbooleanOptionalDefaults to false

When true, control-plane upgrades and configuration changes replace nodes automatically. When false, nodes needing replacement are reported as pending and wait for an operator.

controlPlaneConfigobjectOptional

Current control-plane configuration.

nicoobjectOptional
NICo identifiers.
launchLayerobjectOptional
LaunchLayer identifiers.
nodeAgentUpgradeobjectOptional
The active agent upgrade and latest retry error.

Errors

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