Upgrade Guide

Upgrading a MetalK8s cluster is handled via utility scripts which are packaged with every new release. This section describes a reliable upgrade procedure for MetalK8s including all the components that are included in the stack.

Warning

Upgrading a single-node cluster from 2.6.x to 2.7.y with SparseLoopDevice volumes will force draining of this single node. Expect an interruption of service during this upgrade (production deployments should not rely on SparseLoopDevice volumes).

Supported Versions

Note

MetalK8s supports upgrade of at most one minor version at a time. For example:

  • from 2.4.0 to 2.4.4

  • from 2.4.0 to 2.5.1

Please refer to the release notes for more information.

Upgrade Pre-requisites

Before proceeding with the upgrade procedure, make sure to complete the pre-requisites listed in ISO Preparation.

Run pre-checks

You can test if your environment will successfully upgrade with the following command. This will simulate the upgrade pre-checks and provide an overview of the changes to be carried out in your MetalK8s cluster.

Important

The version prefix metalk8s-X.Y.Z as used below during a MetalK8s upgrade must be the new MetalK8s version you would like to upgrade to.

/srv/scality/metalk8s-X.Y.Z/upgrade.sh --dry-run --verbose

Upgrade Steps

Ensure that the upgrade pre-requisites above have been met before you make any step further.

To upgrade a MetalK8s cluster, run the utility script shipped with the new version you want to upgrade to:

Important

The version prefix metalk8s-X.Y.Z as used below during a MetalK8s upgrade must be the new MetalK8s version you would like to upgrade to.

  • From the Bootstrap node, launch the upgrade.

    /srv/scality/metalk8s-X.Y.Z/upgrade.sh