Mise à jour
Processus de mise à niveau
Requête
La mise à jour d'un PaaS Kubernetes peut-être effectuée en self-service sur la page ressource du cluster Kubernetes depuis ITCare
Il est recommandé de procéder à la mise à jour de vos environnements de non-production dans un premier temps afin de pouvoir valider la nouvelle version ainsi que la compatibilité avec votre cluster.
Déroulement
L'upgrade du cluster Kubernetes suit ces étapes en mode Rolling Update :
Les pods sont redémarrés noeud par noeud : 10% des noeuds worker à la fois
Validation post-mise à jour (health check, monitoring).


Impacts
Les version api de ressources Kubernetes peuvent être obsolètes, voir supprimés lors de la mise à jour de version Kubernetes. Il y a une risque de cassure si vous avez des ressources avec une version api supprimé dans la nouvelle version de Kubernetes.
Pour éviter cela, une des solutions est d'utiliser l'outil "kubent" pour vérifier la compatibilité .
Kubent détecte les objets obsolètes du cluster Kubernetes. Vous devez migrer/modifier les ressources identifiés avant la mise à jour de version Kubernetes.
Vérification de compatibilité avant une mise à jour de version Kubernetes
Pour installer kubent :
sh -c "$(curl -sSL 'https://git.io/install-kubent')"
Pour identifier les objets obsolètes qui vont être supprimés dans la prochain version Kubernetes :
kubent [--context my-cluster]
Un exemple de l'output :
...
__________________________________________________________________________________________
>>> 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)
...
Dans ce tutoriel, si votre cluster est planifié pour une mise à jour vers version Kubernetes 1.22, vous devez migrer votre resource ingress nommé "toto" de version api networking.k8s.io/v1beta1
vers networking.k8s.io/v1
avant la mise à jour.
Cette migration peut impliquer une modification des champs supplémentaires de la ressource. Veillez consulter la documentation officielle :
Kubent pourrait échouer de reporter certaine information, e.g. espace de nom de l'ingress, vous pouvez remonter l'issue à l'éditeur : https://github.com/doitintl/kube-no-trouble/issues
Mettre à jour votre cluster
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Mettre à jour. Un message d'information apparait, cliquez sur Soumettre.
La mise à jour peut prendre plusieurs minutes selon la taille du cluster.
Temps de référence
Une mise à jour d'un cluster Kubernetes prend environ 15 minutes en moyenne. Les noeuds sont mis à jour les un après les autres en respectant un maximum de 10% de noeud sur le cluster.
Ces temps sont indicatifs et peuvent varier selon les spécificités du cluster.
Matrice de support OS / Kubernetes
Distribution Linux supportées par cegedim.cloud en fonction de la version de Kubernetes :
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
Chemins de mises à jour Kubernetes supportés
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