Upgrade Kubernetes
Upgrade CKS clusters to the latest Kubernetes version
Upgrading your CKS cluster ensures access to the latest features, performance improvements, and critical security updates. This guide provides step-by-step instructions for upgrading your CKS cluster to the next available Kubernetes version.
Version sequence
- Clusters can only be upgraded to the next Kubernetes minor version (for example, from 1.32 to 1.33).
- All upgrades must be sequential. If newer versions exist, you must upgrade one version at a time. You cannot skip versions.
- Downgrades are not supported once an upgrade has been performed.
Eligibility
A cluster is not eligible for upgrade in the following cases:
- Unsupported configuration: Some clusters do not support self-service upgrades when internal components are out of date or not enabled.
- Deprecated Kubernetes APIs: If a cluster uses Kubernetes APIs that are deprecated in the target version, the upgrade cannot proceed.
- Note: CoreWeave checks for deprecated APIs in your cluster, but cannot guarantee that all deprecated APIs in use are detected. Before upgrading, review the Kubernetes Deprecated API Migration Guide for your target version and ensure that your workloads are compatible.
- Cluster health issues: Upgrades require the cluster to be in a healthy state.
- Node version skew: If any Nodes are more than two versions behind the Control Plane, the upgrade cannot proceed until those Nodes are rebooted, causing them to upgrade to the latest kubelet version.
Upgrade process
Upgrading a cluster involves two main steps:
- Upgrade the Control Plane: Use the Cloud Console, the CKS API, or the Terraform provider.
- Reboot the Nodes: Reboot the Nodes in each Node Pool to upgrade the kubelets to match the Control Plane version.
This guide explains how to upgrade a CKS cluster using Cloud Console or CKS API.
Step 1: Upgrade the Control Plane
Use the Cloud Console or the CKS API to upgrade the Control Plane of your cluster. The Control Plane upgrade is a prerequisite for rebooting Nodes to complete the Kubernetes upgrade.
- Cloud Console
- CKS API
-
Navigate to the Clusters page in Cloud Console.
-
Review the Kubernetes Version tags. Clusters eligible for upgrade are indicated by a yellow alert tag.
-
Click the alert tag, which opens an upgrade dialog for the next available version.
-
Click Upgrade to [version] to start the process.
-
Inspect the
isUpgradable
field on the cluster resource. The value must betrue
for the cluster to be upgradable. -
Create
data.json
with a JSON object for thePATCH
request with all required fields.{"id": "your_cluster_id","oidc": {"issuerUrl": "your_issuerUrl","clientId": "your_clientId"},"authzWebhook": {"server": "your_server"},"authnWebhook": {"server": "your_server"},"version": "1.33" // Specify the next available version for your cluster}Replace the required fields with your cluster's specific values. Set
version
to the next Kubernetes minor version. See the versions supported by CKS. -
Submit the request with
data.json
in the request body. Replace{id}
in the endpoint URL with the cluster ID.$curl -X PATCH https://api.coreweave.com/v1beta1/cks/clusters/{id} \-H "Content-Type: application/json" \-H "Authorization: Bearer {API_ACCESS_TOKEN}" \-d @data.json -
Fetch the cluster's
status
. When the upgrade is complete,status
reflects the new version.
If a cluster fails to upgrade, or is not upgradable when you believe it should be, please contact support for assistance.
Step 2: Reboot the Nodes
Upgrading the Control Plane does not automatically update the Nodes. They continue running their current Kubernetes version until rebooted, allowing workloads to run without interruption. To ensure consistent performance and feature compatibility, reboot all Nodes in your Node Pools as soon as possible after upgrading the Control Plane to complete the Kubernetes upgrade.
See Reboot Nodes on CKS for detailed instructions.