Upgrade

PaaS upgrade workflow

Request

The update of a Kubernetes PaaS can be done in self-service on the Kubernetes cluster's resource page in ITCare

It is recommended that you upgrade your non-production environments first in order to estimate the downtime generated by the operation and to test your applications using the new engine version.

Process

The Kubernetes cluster upgrade follows these steps through a Rolling Update process :

  1. Pods reboot one node after another : 10% of the nodes at a time

  2. Post-upgrade validation (health checks, monitoring).

Impacts

Some API versions can be obsolete or even deleted during a Kubernetes upgrade. There is a risk of breakage if you have resources with an API version that has been removed in the new version of Kubernetes.

To avoid this issue, you can check compatibility with the tool "kubent".

Kubent checks obsolete objects on the Kubernetes cluster. You need to migrate/change the identified resources before upgrading Kubernetes.

Check compatibility before a Kubernetes upgrade

To install kubent :

sh -c "$(curl -sSL 'https://git.io/install-kubent')"

To identify obsolete objects that will be deleted in the next Kubernetes version :

kubent [--context my-cluster]

An output exemple :

...
__________________________________________________________________________________________
>>> Deprecated APIs removed in 1.22 <<<
------------------------------------------------------------------------------------------
KIND                       NAMESPACE      NAME                                   API_VERSION                         REPLACE_WITH (SINCE)
Ingress                    <undefined>     toto                                 networking.k8s.io/v1beta1           networking.k8s.io/v1 (1.19.0)
...

In this tutorial, if your cluster has an upgrade planned to the Kubernetes version 1.22, you need to migrate the ingress resource named "toto" of the API version networking.k8s.io/v1beta1 to networking.k8s.io/v1 before the upgrade.

This migration can imply a change of more fields in the resource. Please check the official documentation :

Upgrade the Kubernetes cluster

On the top of your cluster's page, click on the Manage button, then Update. An information popup will be displayed, click on Sumit

Time references

A Kubernetes cluster upgrade typically takes around 15 minutes on average. Nodes will be upgraded one after another with no more than 10% of the cluster's node at the same time

Note that these times are estimates and can vary depending on the cluster configuration

OS / Kubernetes support matrix

Distribution Linux supported by cegedim.cloud depending of the Kubernetes version :

Versions de Kubernetes
Distribution Linux supportée

Kubernetes 1.28

Ubuntu 22.04, 24.04

Kubernetes 1.30

Ubuntu 22.04, 24.04

Kubernetes 1.32

Ubuntu 20.04, 22.04, 24.04

Supported Kubernetes update paths

Version Source
Kubernetes 1.28
Kubernetes 1.30
Kubernetes 1.31
Kubernetes 1.32

Kubernetes 1.28

Kubernetes 1.28 → Kubernetes 1.30

Kubernetes 1.28 → Kubernetes 1.30 → Kubernetes 1.31

Kubernetes 1.28 → Kubernetes 1.30 → Kubernetes 1.31 → Kubernetes 1.32

Kubernetes 1.30

Kubernetes 1.30 → Kubernetes 1.31

Kubernetes 1.30 → Kubernetes 1.31 → Kubernetes 1.32

Kubernetes 1.31

Kubernetes 1.31

Kubernetes 1.31 → Kubernetes 1.32

Kubernetes 1.32

Kubernetes 1.31 → Kubernetes 1.32

Last updated