---
title: How to upgrade the Kubernetes version on a Kapsule cluster
description: Discover step-by-step instructions on upgrading the Kubernetes version for your Kapsule cluster to ensure optimal performance and features.
tags: kubernetes kubernetes-kapsule kapsule cluster upgrade
dates:
  validation: 2025-07-01
  posted: 2022-12-21
---
import Requirements from '@macros/iam/requirements.mdx'

import image from './assets/scaleway-upgrade-cluster-new.webp'


You can either upgrade your Kubernetes Kapsule cluster [directly from the Scaleway console](#upgrading-a-kapsule-cluster-from-the-scaleway-console), or upgrade your cluster to the next minor version by [using the CLI](#upgrading-a-kapsule-cluster-to-the-next-minor-version-using-the-cli). The CLI section of this how-to guide also provides additional mandatory information for checking important components before proceeding with the upgrade of your cluster.

## Upgrading a Kapsule cluster from the Scaleway console

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- Created a [Kubernetes Kapsule cluster](/kubernetes/how-to/create-cluster/) running on a Kubernetes version older than the latest release

1. Click **Kubernetes** under **Containers** on the side menu. A list of your Kubernetes Kapsule clusters displays.
2. From the drop-down menu, select the geographical region you want to manage.
3. Click the cluster name you wish to upgrade the Kubernetes version for. The cluster information page displays.
4. Click **Upgrade** next to the **Kubernetes version** of your cluster. A pop-up displays.
    <Lightbox image={image} alt="" />
5. Select the latest patch or next minor version to upgrade to. Tick the **Upgrade cluster node pools as well** checkbox if you want to upgrade the version of Kubernetes on the node pools in your cluster to the same version.
    <Message type="important">
      Be careful when upgrading the Kubernetes versions of your node pools, as it may lead to data loss on data stored locally on any node.
    </Message>
6. Click **Upgrade**.
    <Message type="note">
      It is not possible to downgrade your Kubernetes version once it has been upgraded.
    </Message>
    <Message type="note">
       Cluster pools cannot be resized during the upgrade process. Provision resources accordingly.
    </Message>

## Upgrading a Kapsule cluster to the next minor version using the CLI

<Requirements />

- A working [CLI](https://github.com/scaleway/scaleway-cli) with your credentials set up

    This procedure will upgrade your Kubernetes Kapsule cluster to the latest k8s version available on the Kapsule API.

First, it is essential to verify that the most recent version of Kapsule adequately supports your workload. We maintain a compatibility matrix for various components, as your current cluster might use components that are deprecated or unavailable in the latest version.

For further details, consult our [version policy](/kubernetes/reference-content/version-support-policy/).

We recommend you read the Kubernetes [changelog](https://kubernetes.io/releases/) to stay informed on the latest version upgrades.

### Effective upgrade

From here, two options are available: you are either upgrading **one minor version** or **multiple ones**.

#### One minor version

This option is the most straightforward and requires you to first upgrade your control plane.
```bash
scw k8s cluster upgrade $CLUSTER_ID version=$NEW_K8S_VERSION
```

<Message type="tip">
  You can also upgrade the pools by appending the previous command with `upgrade-pools=true`.
</Message>

Additionally, you can upgrade one pool independently by running the following command:
```bash
scw k8s pool upgrade $POOL_ID version=$NEW_K8S_VERSION
```

If you wish to migrate your workload manually, you can do so by following the steps described in the [runtimes](#container-runtimes) section.
<Message type="important">
  Make sure to adapt the pool creation step.
</Message>
```bash
scw k8s pool create zone=$OLD_POOL_ZONE size=$SIZE_OF_YOUR_OLD_POOL version=$NEW_CLUSTER_VERSION cluster-id=$CLUSTER_ID
```

#### Multiple minor versions

The process is quite similar to the previous one except you need to repeat the steps for each minor version.


