Mise à niveau des noeuds gérés vers Kubernetes version 1.35 (ou ultérieure)
Découvrez comment mettre à niveau les noeuds gérés qui utilisent actuellement une image OKE OL7, une image de plate-forme OL7 ou une image personnalisée basée sur une image OL7, pour exécuter Kubernetes version 1.35 (ou ultérieure) et OL8, à l'aide de Kubernetes Engine (OKE).
Cette section s'applique uniquement aux noeuds gérés. Pour plus d'informations sur la mise à niveau des noeuds auto-gérés, voir Mise à niveau des noeuds auto-gérés vers une version de Kubernetes plus récente en remplaçant un noeud auto-géré existant.
À partir de Kubernetes version 1.35, Kubernetes nécessite cgroups v2 pour la gestion des ressources de conteneur.
Les groupes de contrôle (cgroups) sont une fonctionnalité du noyau Linux qui fournit un mécanisme pour gérer et contrôler l'allocation des ressources pour les processus ou les groupes de processus. Les groupes de contrôle version 2 (cgroups v2) fournissent une hiérarchie de groupes de contrôle unique sur laquelle tous les contrôleurs de ressources sont montés. Dans cette hiérarchie, vous pouvez coordonner l'utilisation des ressources entre différents contrôleurs de ressources.
Oracle Linux 7 (OL7) prend en charge les cgroups v1, mais ne prend pas en charge les cgroups v2. Oracle Linux 8 (OL8) et versions ultérieures prennent en charge à la fois les cgroups v1 et les cgroups v2, mais les cgroups v2 ne sont pas toujours activés par défaut dans OL8.
En résumé, Kubernetes version 1.35 nécessite donc OL8 (ou une version ultérieure) avec cgroups v2 activés.
Les cgroups v2 sont activés par défaut dans les images OKE OL8 dont le numéro de version est 1367 ou supérieur. Toutefois, dans les images OKE OL8 dont le nombre de versions est inférieur à 1367 (et dans les images de plate-forme OL8), les cgroups v1 sont activés par défaut.
Pour les noeuds de travail sur les grappes exécutant Kubernetes version 1.35 (et ultérieure), Kubernetes Engine prend en charge les images suivantes :
- Images OKE OL8 et images personnalisées basées sur des images OKE OL8, dont le numéro de version est 1367 ou supérieur.
- Images OKE OL8 et images personnalisées basées sur des images OKE OL8, dont le nombre de versions est inférieur à 1367, mais uniquement si vous activez les cgroups v2 (voir Activation des Cgroups v2 sur les noeuds de travail OL8 à l'aide d'images personnalisées).
- Images personnalisées basées sur des images de plate-forme OL8, mais uniquement si vous activez les cgroups v2 (voir Activation des Cgroups v2 sur les noeuds de travail OL8 à l'aide d'images personnalisées).
Notez que les images suivantes ne sont pas prises en charge avec Kubernetes version 1.35 :
- Les images OKE OL7 ne sont pas prises en charge.
- Les images de plate-forme (images de plate-forme OL7 et images de plate-forme OL8) ne sont pas prises en charge.
- Les images personnalisées basées sur des images OKE OL7 ne sont pas prises en charge.
- Les images personnalisées basées sur des images de plate-forme OL7 ne sont pas prises en charge.
Lors de la mise à niveau des noeuds gérés qui utilisent actuellement une image OL8 vers Kubernetes version 1.35 (et ultérieure), notez ce qui suit :
- Vous pouvez mettre à niveau les noeuds gérés qui utilisent actuellement une image OKE OL8 (ou une image personnalisée basée sur une image OKE OL8) avec un numéro de version inférieur à 1367, en effectuant une mise à niveau sur place et en spécifiant une image OKE OL8 avec un numéro de version supérieur ou égal à 1367.
- Vous pouvez mettre à niveau les noeuds gérés qui utilisent actuellement une image de plate-forme OL8 en effectuant une mise à niveau sur place et en spécifiant une image OKE OL8 avec un numéro de version 1367 ou supérieur.
- Vous pouvez effectuer des mises à niveau sur place des noeuds gérés qui utilisent actuellement une image OL8, que les noyaux Linux des instances de calcul hébergeant les noeuds aient déjà activé les cgroups v2.
- Pour obtenir des instructions sur place pour effectuer des mises à niveau, voir Mise à niveau des noeuds gérés vers une nouvelle version de Kubernetes.
Pour mettre à niveau les noeuds gérés qui utilisent actuellement une image OKE OL7, une image de plate-forme OL7 ou une image personnalisée basée sur une image OL7, pour exécuter Kubernetes version 1.35 (ou ultérieure), effectuez une mise à niveau dans un emplacement différent afin de remplacer le groupe de noeuds existant par un nouveau groupe de noeuds :
-
Identifiez les groupes de noeuds existants qui utilisent OL7, à l'aide de la console ou de l'interface de ligne de commande comme suit :
-
Utilisation de la console :
- Dans la page de liste Grappes, sélectionnez le nom de la grappe contenant les groupes de noeuds à afficher. Si vous avez besoin d'aide pour trouver la page de liste ou la grappe, voir Liste des grappes.
- Sélectionnez l'onglet Groupes de noeuds.
- Utilisez la colonne Nom de l'image pour identifier les groupes de noeuds qui utilisent des images
Oracle-Linux-7.9.x.
-
Utilisation de l'interface de ligne de commande : Identifiez les groupes de noeuds existants qui utilisent OL7 en entrant une commande similaire à la suivante :
oci ce node-pool list --cluster-id <cluster-ocid> --compartment-id <compartment-ocid> --query 'data[*].{name:"name", image:"node-source"."image-id"}'
-
-
Créez un groupe de noeuds de remplacement qui utilise une image OL8, à l'aide de la console ou de l'interface de ligne de commande comme suit :
-
Utilisation de la console :
- Dans l'onglet Groupes de noeuds, sélectionnez Ajouter un groupe de noeuds et entrez les détails du nouveau groupe de noeuds.
- Sélectionnez une image de noeud de travail OKE basée sur une image
Oracle Linux 8.x. - Configurez le nouveau groupe de noeuds avec la même forme, taille et positionnement que le groupe de noeuds OL7.
- Sélectionnez Créer.
-
Utilisation de l'interface de ligne de commande : Créez un groupe de noeuds de remplacement qui utilise une image OL8 en entrant une commande similaire à la suivante :
oci ce node-pool create --cluster-id <cluster-ocid> --compartment-id <compartment-ocid> --name "nodepool-ol8-workers" --node-shape "VM.Standard.E4.Flex" --kubernetes-version "v1.35.0" --node-image-id <ol8-image-ocid> --size 3 --placement-configs '[{"availabilityDomain":"AD-1","subnetId":"<subnet-ocid>"}]'
-
-
Cordon sur les noeuds OL7 :
-
Obtenez les noms des noeuds OL7 en entrant :
kubectl get nodes -l node.kubernetes.io/os=ol7 -
Cordonner chaque noeud en entrant :
kubectl cordon <node-name>
-
-
Égouttez les noeuds OL7 pour migrer correctement les charges de travail :
- Égouttez chaque noeud OL7 en entrant :
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data --force - Vérifiez que les charges de travail ont été reprogrammées sur les nouveaux noeuds en entrant :
kubectl get pods -A -o wide | grep <node-name>
- Égouttez chaque noeud OL7 en entrant :
-
Supprimez le groupe de noeuds OL7 à l'aide de la console ou de l'interface de ligne de commande, comme suit :
-
Utilisation de la console :
- Dans l'onglet Groupes de noeuds, sélectionnez Supprimer le groupe de noeuds dans le menu Actions (trois points) à côté du groupe de noeuds OL7.
- Cliquez sur Supprimer.
- Confirmez que vous voulez supprimer le groupe de noeuds et sélectionnez Supprimer.
-
Utilisation de l'interface de ligne de commande : Supprimez le groupe de noeuds OL7 :
oci ce node-pool delete --node-pool-id <ol7-nodepool-ocid>
-
-
Mettez à niveau la grappe (par exemple, vers Kubernetes version 1.35) :
oci ce cluster update --cluster-id <cluster-ocid> --kubernetes-version "v1.35.0"
Pour plus d'informations, voir Exécution d'une mise à niveau dans un nouveau répertoire de base de Kubernetes sur des noeuds gérés en remplaçant un groupe de noeuds existant par un nouveau.