Upgrade an operating system distribution

Available since 14.0.1 and 15.0.1 for MOSK 23.2

Warning

During the course of the Container Cloud 2.24.x series, Mirantis highly recommends upgrading an operating system on your cluster machines to Ubuntu 20.04 before the next major Cluster release becomes available. It is not mandatory to upgrade all machines at once. You can upgrade them one by one or in small batches, for example, if the maintenance window is limited in time.

Otherwise, the Cluster release update of the 18.04 based clusters will become impossible as of the Cluster releases introduced in Container Cloud 2.25.0, in which only the 20.04 distribution will be supported.

Distribution upgrade of an operating system (OS) is implemented for management, regional, and managed bare metal clusters.

For management and regional clusters, an OS distribution upgrade occurs automatically since Container Cloud 2.24.0 as part of cluster update and requires machines reboot. The upgrade workflow is as follows:

  1. The distribution ID value is taken from the id field of the distribution from the allowedDistributions list in the spec of the ClusterRelease object.

  2. The distribution that has the default: true value is used during update. This distribution ID is set in the spec:providerSpec:value:distribution field of the Machine object during cluster update.

For managed clusters, an in-place OS distribution upgrade should be performed between cluster updates. This scenario implies a machine cordoning, draining, and reboot.

To upgrade an OS distribution on managed cluster between releases:

  1. Open the required Machine object for editing.

  2. In spec:providerSpec:value:distribution, set the required ID of the new OS version. For example, ubuntu/focal.

    For description of the Machine object fields, see API Reference: Machine object.

  3. Monitor the upgrade progress using the status:providerStatus:currentDistribution field of the required Machine object. Once the distribution upgrade completes, the currentDistribution will match the distribution value previously set in the object spec. For the status fields description, see Machine status.

  4. Verify that reboot.required.true appears in status:providerStatus of the Machine object. This field indicates whether a manual host reboot is required to complete the Ubuntu operating system update.

  5. Repeat the procedure with the remaining machines.

  6. Manually reboot the cluster as described in Perform a graceful reboot of a cluster.