Mise à jour des clusters, des noeuds worker et des composants de cluster
Assurez la sécurité et la prise en charge de votre cluster en mettant à jour le nœud maître, les nœuds de travail et les composants du cluster dans le bon ordre. Une mise à jour hors séquence peut entraîner des erreurs de désynchronisation des versions ou des temps d’arrêt imprévus.
Effectuez les mises à jour dans l'ordre suivant :
- Mettez à jour le maître du cluster.
- Mettez à jour vos nœuds de travail ( Classic, VPC ou Satellite ) en fonction de votre type d'infrastructure. Vous ne savez pas de quel type il s'agit? Dans la console d’ IBM Cloud, cliquez sur votre cluster et consultez le champ Infrastructure de l’onglet Aperçu : il indique Classic, VPC ou Satellite.
- Mettez à jour les composants du cluster, tels que les ALB d’ Fluentd et d’Ingress, si vous les gérez manuellement.
- Mise à jour des modules complémentaires gérés.
Mise à jour du maître
- Comment savoir quand mettre à jour le fichier maître?
- Vous êtes averti dans la console, les annonces et l'interface de ligne de commande lorsque des mises à jour sont disponibles. Vous pouvez également consulter régulièrement la page des versions prises en charge.
- De combien de versions le master peut-il être en retard par rapport à la dernière version?
- Vous ne pouvez mettre à jour le serveur API qu'avec la version suivante de celle qu'il utilise actuellement (
n+1). - Mes nœuds de travail peuvent-ils fonctionner avec une version plus récente que celle du maître?
- Vos nœuds worker ne peuvent pas exécuter une version de
major.minorKubernetes postérieure à celle du maître. De plus, vos nœuds de travail ne peuvent être qu'à une version mineure de retard par rapport à la version principale (n-1). Commencez par mettre à jour votre nœud principal vers la dernière version d' Kubernetes. Ensuite, mettez à jour les noeuds worker dans votre cluster.
Les noeuds worker peuvent exécuter des versions de correctif ultérieures à celle du maître, par exemple des versions de correctif spécifiques aux noeuds worker pour les mises à jour de sécurité.
- Comment les mises à jour de correctifs sont-elles appliquées?
- Par défaut, les correctifs du maître sont appliqués automatiquement sur plusieurs jours, de sorte que la version d'un correctif de maître s'affiche comme étant disponible avant d'être appliquée à votre maître. L'automatisation de la mise à
jour ignore également les clusters qui ne sont pas dans un état sain ou dont les opérations sont encore en cours d'exécution. Occasionnellement, IBM peut désactiver les mises à jour automatiques pour un groupe de correctifs de maître spécifique,
par exemple un correctif nécessaire uniquement si un maître est mis à jour d'une version secondaire à une autre. Dans tous ces cas, vous pouvez vérifier les informations de version de la commande Red Hat OpenShift on IBM Cloud pour évaluer tout impact potentiel et choisir d’utiliser vous-même la
ibmcloud oc cluster master updatecommande en toute sécurité sans attendre que la mise à jour automatique soit appliquée.
Contrairement au maître, vous devez mettre à jour vos noeuds worker pour chaque version de correctif.
- Que se passe-t-il lors de la mise à jour du maître?
- La haute disponibilité de votre maître est assurée par trois pods avec des répliques du maître. Les pods de maître ont des mises à jour en continu, au cours desquelles un seul pod à la fois est indisponible. Deux instances sont opérationnelles pour que vous puissiez accéder au cluster et le modifier lors de la mise à jour. Vos noeuds worker, applications et ressources continuent à s'exécuter.
- Puis-je annuler la mise à jour?
- Non, vous ne pouvez pas rétrogradez un cluster à une version précédente une fois que le processus de mise à jour a eu lieu. Prenez soin d'utiliser un cluster de test et de suivre les instructions afin d'éviter des problèmes potentiels avant de mettre à jour votre maître en production.
- Quelle procédure dois-je suivre pour mettre à jour le fichier maître?
- Le diagramme suivant illustre la procédure que vous pouvez suivre pour mettre à jour le maître.
Procédure de mise à jour du maître cluster
Avant de commencer, assurez-vous de disposer du rôle d'accès à la plateforme IAM Opérateur ou Administrateur. Si vous n'êtes pas sûr de votre rôle d'accès, accédez à Gérer → Accès (IAM) → Utilisateurs dans la console IBM Cloud, ou adressez-vous à l'administrateur de votre compte.
Si une rotation de certificats d'autorité de certification (CA) est en cours, la mise à jour principale est bloquée jusqu'à ce que la rotation soit terminée. Vérifiez l'état d'avancement de toute rotation en cours avant de commencer.
Pour mettre à jour la version maître Red Hat OpenShift_majeure_ ou mineure version :
-
Consultez les informations de version deRed Hat OpenShift on IBM Cloud et effectuez les mises à jour marquées Update before master.
-
Vérifiez les avertissements utiles sur Kubernetes, tels que les avis de dépréciation.
-
Vérifiez pour les modules complémentaires et les plug-in installés dans votre cluster l'impact que pourrait avoir une mise à jour de la version du cluster.
-
Vérification des modules complémentaires
- Répertoriez les modules complémentaires dans le cluster.
ibmcloud oc cluster addon ls --cluster CLUSTER - Vérifiez la version de Red Hat OpenShift prise en charge pour chaque module complémentaire installé.
ibmcloud oc addon-versions - Si le module complémentaire doit être mis à jour pour s'exécuter dans la version Red Hat OpenShift à laquelle vous souhaitez mettre à jour votre cluster, mettez à jour le module complémentaire.
- Répertoriez les modules complémentaires dans le cluster.
-
Vérification des plug-in
- Dans le catalogue Helm, recherchez les plug-ins que vous avez installés dans votre cluster.
- Dans le menu latéral, développez la section SOURCES & FICHIER TAR.
- Téléchargez et ouvrez le code source.
- Vérifiez dans les fichiers
README.mdouRELEASENOTES.mdles versions prises en charge. - Si le plug-in doit être mis à jour pour s'exécuter dans la version Red Hat OpenShift à laquelle vous voulez mettre à jour votre cluster, mettez à jour le module complémentaire en suivants les instructions du plug-in.
-
-
Mettez à jour votre serveur API et les composants principaux associés à l'aide de la console d' IBM Cloud ou en exécutant la commande
ibmcloud oc cluster master updateCLI. -
Patientez quelques minutes, puis confirmez que la mise à jour est terminée. Examinez la version du serveur d'API sur le tableau de bord Clusters d'IBM Cloud ou exécutez la commande
ibmcloud oc cluster ls. -
Installez la version de
oc cliqui correspond à la version du serveur d'API qui s'exécute dans le maître. Kubernetes ne prend pas en charge les versions clientocdont le numéro de version diffère de deux versions ou plus par rapport à la version serveur (n +/- 2). Pour actualiser votre configuration locale, exécutezibmcloud oc cluster config -c CLUSTER_NAME_OR_ID, puis vérifiez avecoc version --client.
Une fois la mise à jour du nœud maître terminée, mettez à jour vos nœuds de travail. La méthode dépend du type de votre infrastructure :
- Mise à jour des nœuds de travail classiques: utilise une mise à jour progressive contrôlée par une ConfigMap et la commande
worker update. - Mise à jour des nœuds de travail VPC — Les nœuds de travail bare metal VPC sont mis à jour sur place à l'aide de
worker reload; les nœuds de travail VSI VPC doivent utiliserworker replace --update. La procédure de mise à jour progressive ConfigMap n'est pas encore prise en charge pour les nœuds de travail VPC.
Mise à jour des noeuds worker classiques
Les nœuds de travail de l'infrastructure classique effectuent une mise à jour progressive sur place. Les mises à jour sont gérées par un paramètre Kubernetes ConfigMap qui définit le nombre de nœuds pouvant être indisponibles simultanément.
La commande ibmcloud oc worker update n'est prise en charge que pour les nœuds de travail classiques.
Vous pouvez effectuer deux types de mises à jour :
- Correctif: applique les correctifs de sécurité et les mises à jour vers la dernière version du correctif. Utilisez ou
ibmcloud oc worker reloadibmcloud oc worker update. Ces deux commandes mettent à jour le nœud avec la dernière version du correctif. La commandeupdateapplique également toute mise à jour de versionmajor.minordisponible afin de se synchroniser avec la version de référence. - Major.minor: met à jour la version d' Kubernetes du nœud de travail pour qu'elle corresponde à celle du nœud maître. Vos nœuds de travail ne peuvent pas avoir plus d’une version de retard par rapport au maître (
n-1). Utilisez la commandeibmcloud oc worker update.
Pour plus d'informations, voir Types de mise à jour.
Il est conseillé de procéder à une rotation des certificats d'autorité de certification chaque fois que vous mettez à jour vos nœuds de travail, car l'étape la plus longue de la rotation des certificats consiste à recharger ou à remplacer vos nœuds de travail.
- Que deviennent mes applications lors d'une mise à jour?
- Les applications s'exécutant sur des nœuds de travail mis à jour sont replanifiées sur d'autres nœuds de travail du cluster, y compris des nœuds appartenant à d'autres pools de travail ou des nœuds de travail autonomes. Pour éviter toute interruption de service, assurez-vous que le cluster dispose d'une capacité suffisante pour prendre en charge la charge de travail avant de lancer la mise à jour.
- Comment puis-je contrôler le nombre de nœuds de travail qui s'arrêtent simultanément lors d'une mise à jour ou d'un rechargement?
- Utilisez l'option Kubernetes ( ConfigMap ) pour définir le nombre maximal de nœuds de travail pouvant être indisponibles simultanément. Les nœuds de travail sont identifiés par leurs étiquettes. Vous pouvez utiliser les libellés fournis par IBM ou des libellés personnalisés. Si vous souhaitez que tous vos nœuds de travail restent disponibles, envisagez de redimensionner votre pool de nœuds de travail ou d’ajouter des nœuds de travail autonomes afin d’augmenter temporairement la capacité avant la mise à jour.
L' ConfigMap e contrôle uniquement le comportement des mises à jour. Cela n'affecte pas les rechargements des nœuds de travail, qui s'effectuent immédiatement sur demande.
- Que se passe-t-il si je choisis de ne pas définir de config map?
- Par défaut, 20 % au maximum de tous les nœuds de travail de chaque cluster peuvent être indisponibles pendant la mise à jour. Vous pouvez remplacer cette valeur en définissant une règle ConfigMap avec une entrée
defaultcheck.json.
Prérequis
Avant de mettre à jour vos nœuds de travail d’infrastructure classique, effectuez les étapes préalables suivantes.
Lors de la mise à jour d'un nœud de travail, l'image du nœud de travail est réinstallée et toutes les données qui ne sont pas stockées sur un support de stockage persistant sont définitivement supprimées. Vérifiez que toutes les données que vous devez conserver sont stockées en dehors du nœud de travail avant de commencer.
Si vous avez installé l' Portworx dans votre cluster, vous devez mettre à jour la configuration de l' Portworx avant de mettre à jour les nœuds de travail.
Actions à effectuer avant la mise à jour (à réaliser dans l'ordre)
- Consultez les informations sur la version d’ Red Hat OpenShift on IBM Cloud pour connaître les derniers correctifs de sécurité et les modifications requises.
- Apportez toutes les modifications marquées Mise à jour avant la version de référence ou Mise à jour après la version de référence dans le guide de préparation de la version d' Red Hat OpenShift.
- Mettez à jour le nœud maître avant de mettre à jour les nœuds de travail. La version du nœud de travail ne peut pas être supérieure à celle du serveur API qui s'exécute sur le maître.
- Accédez à votre cluster Red Hat OpenShift.
- Envisagez d'ajouter des nœuds de travail à votre cluster afin de disposer d'une capacité supplémentaire pour la replanification des charges de travail pendant la mise à jour. Vous pouvez supprimer les nœuds supplémentaires une fois la mise à jour terminée.
Autorisations requises
Assurez-vous de disposer du rôle d’accès à la plateforme IAM Opérateur ou Administrateur. Si vous n'êtes pas sûr de votre rôle d'accès, accédez à Gérer → Accès (IAM) → Utilisateurs dans la console IBM Cloud, ou adressez-vous à l'administrateur de votre compte.
Mise à jour des noeuds worker classiques dans l'interface CLI
Utilisez une commande ConfigMap pour effectuer une mise à jour progressive de vos nœuds de travail classiques. L' ConfigMap e vous permet de contrôler le nombre de nœuds pouvant être indisponibles simultanément, par zone ou par région. Si la règle par défaut de 20 % d'indisponibilité est acceptable pour votre cluster, vous pouvez ignorer les étapes 3 et 4 (création de ConfigMap ) et passer directement à l'étape 5 pour appliquer la mise à jour en utilisant le comportement par défaut.
-
Effectuez les étapes prérequises.
-
Affichez la liste des noeuds worker disponibles et notez leur adresse IP privée.
ibmcloud oc worker ls --cluster CLUSTER -
Affichez les libellés d'un noeud worker. Vous pouvez identifier les libellés des noeuds worker dans la section Labels de la sortie de l'interface CLI. Chaque libellé est constitué de deux éléments
NodeSelectorKeyetNodeSelectorValue.oc describe node PRIVATE-WORKER-IPExemple de sortie
NAME: 10.184.58.3 Roles: <none> Labels: arch=amd64 beta.kubernetes.io/arch=amd64 beta.kubernetes.io/os=linux failure-domain.beta.kubernetes.io/region=us-south failure-domain.beta.kubernetes.io/zone=dal12 ibm-cloud.kubernetes.io/encrypted-docker-data=true ibm-cloud.kubernetes.io/iaas-provider=softlayer ibm-cloud.kubernetes.io/machine-type=u3c.2x4.encrypted kubernetes.io/hostname=10.123.45.3 privateVLAN=2299001 publicVLAN=2299012 Annotations: node.alpha.kubernetes.io/ttl=0 volumes.kubernetes.io/controller-managed-attach-detach=true CreationTimestamp: Tue, 03 Apr 2022 15:26:17 -0400 Taints: <none> Unschedulable: false -
Créez une mappe de configuration et définissez les règles d'indisponibilité applicables à vos noeuds worker. L' ConfigMap prend en charge jusqu'à 15 vérifications nommées. Chaque contrôle cible un ensemble de nœuds de travail en fonction de leur étiquette et définit le pourcentage maximal de ces nœuds pouvant être indisponibles simultanément. L'exemple suivant présente une vérification de zone (
zonecheck.json), une vérification de région (regioncheck.json), une vérification de repli par défaut (defaultcheck.json) et un modèle pour les vérifications personnalisées. Pour chaque vérification, choisissez l'un des identifiants de nœud de travail que vous avez récupérés à l'étape précédente afin d'identifier les nœuds cibles.Pour chaque vérification, vous ne pouvez définir qu'une seule valeur pour
NodeSelectorKeyetNodeSelectorValue. Si vous souhaitez définir des règles pour plusieurs régions, zones ou d'autres libellés de noeud worker, créez une nouvelle vérification. Définissez jusqu'à 15 vérifications dans une carte de configuration. Si vous ajoutez des vérifications supplémentaires, un seul noeud worker est rechargé à la fois jusqu'à ce que tous les noeuds worker demandés soient mis à jour.Exemple
apiVersion: v1 kind: ConfigMap metadata: name: ibm-cluster-update-configuration namespace: kube-system data: drain_timeout_seconds: "120" zonecheck.json: | { "MaxUnavailablePercentage": 30, "NodeSelectorKey": "failure-domain.beta.kubernetes.io/zone", "NodeSelectorValue": "dal13" } regioncheck.json: | { "MaxUnavailablePercentage": 20, "NodeSelectorKey": "failure-domain.beta.kubernetes.io/region", "NodeSelectorValue": "us-south" } defaultcheck.json: | { "MaxUnavailablePercentage": 20 } <check_name>: | { "MaxUnavailablePercentage": <value_in_percentage>, "NodeSelectorKey": "<node_selector_key>", "NodeSelectorValue": "<node_selector_value>" }drain_timeout_seconds- Facultatif : le délai d'attente, en secondes, pour que le vidage soit terminé. L'arrêt avec drain d'un noeud worker en toute sécurité supprime tous les pods existants du noeuds worker et replanifie les pods sur d'autres noeuds worker du cluster. Les valeurs admises sont des entiers compris entre 1 et 180. La valeur par défaut est 30.
zonecheck.jsonetregioncheck.json- Deux vérifications qui définissent une règle pour un ensemble de nœuds de travail que vous pouvez identifier avec les
NodeSelectorKeyetNodeSelectorValuespécifiés.zonecheck.jsonidentifie les nœuds de travail en fonction de leur libellé de zone, etregioncheck.jsonutilise le libellé de région ajouté à chaque noeud de travail lors de l'application des accès. Dans l'exemple, 30% de tous les nœuds de travail ayantdal13comme étiquette de zone et 20% de tous les nœuds de travail dansus-southpeuvent être indisponibles lors de la mise à jour. defaultcheck.json- Si vous ne créez pas de mappe de configuration ou si la mappe n'est pas configurée correctement, la valeur par défaut de Kubernetes est appliquée. Par défaut, seuls 20 % des noeuds worker du cluster peuvent être indisponibles à moment
donné. Vous pouvez remplacer la valeur par défaut en ajoutant la vérification par défaut dans votre mappe de configuration. Dans l'exemple, chaque noeud de travail qui n'est pas spécifié dans les vérifications de zone et de région
(
dal13ouus-south) peut être indisponible pendant la mise à jour. MaxUnavailablePercentage- Nombre maximal de noeuds pouvant être indisponibles pour un libellé clé-valeur spécifique, exprimé en pourcentage. Un noeud worker est indisponible lorsqu'il est en cours de déploiement, de rechargement ou de mise à disposition. Les noeuds worker en file d'attente sont bloqués pour la mise à jour s'ils dépassent un pourcentage maximum de noeuds indisponibles défini.
NodeSelectorKey- Clé de libellé du noeud worker pour lequel vous voulez définir une règle. Vous pouvez définir des règles pour les libellés par défaut fournis par IBM, ainsi que sur les libellés de noeuds worker que vous avez créés. Si vous souhaitez
ajouter une règle pour les noeuds de travail appartenant à un pool de travailleurs, vous pouvez utiliser l'étiquette
ibm-cloud.kubernetes.io/machine-type. NodeSelectorValue- Valeur de libellé que doit avoir le noeud worker pour être pris en compte dans la règle que vous définissez.
-
Créez la mappe de configuration dans votre cluster.
oc apply -f <filepath/configmap.yaml> -
Vérifiez que la mappe de configuration est créée.
oc get configmap --namespace kube-system -
Mettez à jour les noeuds worker.
ibmcloud oc worker update --cluster CLUSTER --worker WORKER-NODE-1-ID --worker WORKER-NODE-2-ID -
Facultatif : vérifiez les événements déclenchés par la mappe de configuration et les éventuelles erreurs de validation. Les événements peuvent être consultés dans la section Evénements de la sortie de l'interface CLI.
oc describe -n kube-system cm ibm-cluster-update-configuration -
Confirmez que la mise à jour est terminée en examinant la version Kubernetes de vos noeuds worker.
oc get nodes -
Vérifiez que vous n'avez pas de nœuds de travail en double. Il arrive parfois que, suite à une mise à jour, les anciens clusters affichent des nœuds de travail en double avec un statut
NotReady. Pour supprimer ces doublons, voir la section de traitement des incidents.
Etapes suivantes
-
Répétez le processus de mise à jour pour les autres pools de noeuds worker.
-
Demandez à tous les développeurs travaillant sur le cluster de mettre à jour leur
ocCLI afin qu’elle corresponde à la version principale de l’ Kubernetes. L'utilisation d'un clientocdont la version diffère de deux versions ou plus de celle du serveur n'est pas prise en charge et peut entraîner des erreurs inattendues. -
Si le tableau de bord Kubernetes n'affiche pas les graphiques d'utilisation, supprimez le pod
kube-dashboard.
Mise à jour des noeuds worker classiques dans la console
Une fois l’ ConfigMap e configurée pour la première fois, vous pouvez mettre à jour les nœuds de travail à l’aide de la console IBM Cloud. La console respecte les règles d’indisponibilité que vous avez définies dans l’ ConfigMap.
- Suivez les étapes préalables et configurez un fichier ConfigMap pour contrôler la manière dont vos nœuds de travail sont mis à jour.
- Dans le menu de la console IBM Cloud
, cliquez sur Conteneurs > Clusters.
- Sur la page Clusters, cliquez sur votre cluster.
- Dans l'onglet Noeuds worker, sélectionnez la case à cocher de chaque noeud worker que vous désirez mettre à jour. Une barre d'actions s'affiche sur la ligne d'en-tête du tableau.
- Dans la barre de menus, cliquez sur Mettre à jour.
Si vous avez installé l' Portworx dans votre cluster, vous devez redémarrer les pods Portworx sur les nœuds de travail mis à jour. Pour plus d'informations, voir les Limitations de Portworx.
Mise à jour des noeuds worker de VPC
Les nœuds de travail VPC sont mis à jour différemment selon leur type et la plateforme de cluster. La commande ibmcloud oc worker update n'est prise en charge par aucun nœud de travail VPC. Dans tous les cas, le maître du cluster
doit être mis à jour en premier.
- Workers VPC bare metal: mis à jour sur place à l'aide de
ibmcloud oc worker reload. Le nœud conserve son adresse IP. - Workers d'instance de serveur virtuel (VSI) VPC: remplacés par (
ibmcloud oc worker replace --updatepour correspondre à la version principale) ou (ibmcloud oc worker replacemise à jour du correctif uniquement). L'ancien nœud est supprimé et un nouveau est provisionné.
Vous pouvez effectuer deux types de mises à jour :
- Correctif: applique les correctifs de sécurité et les mises à jour du dernier correctif de la version actuelle de la nomenclature (BOM). Pour les utilisateurs de serveurs bare metal VPC, utilisez
ibmcloud oc worker reload. Pour les collaborateurs VPC VSI, utilisezibmcloud oc worker replace. - Major.minor: met à jour la version d' Kubernetes du nœud de travail pour qu'elle corresponde à celle du nœud maître. Vos nœuds de travail ne peuvent pas avoir plus d’une version de retard par rapport au nœud maître (
n-1). Pour les nœuds de travail bare metal VPC, utilisezibmcloud oc worker reload. Pour les collaborateurs VPC VSI, utilisezibmcloud oc worker replace --update.
Il est conseillé de procéder à une rotation des certificats d'autorité de certification chaque fois que vous mettez à jour vos nœuds de travail, car l'étape la plus longue de la rotation des certificats consiste à recharger ou à remplacer vos nœuds de travail.
Si OpenShift Data Foundation est déployé dans votre cluster, suivez ces étapes pour mettre à jour les nœuds worker VPC avec OpenShift Data Foundation.
- Que deviennent mes applications lors d'une mise à jour?
- Les applications qui s'exécutent sur des nœuds de travail mis à jour sont replanifiées sur d'autres nœuds de travail du cluster. Ces noeuds worker peuvent se trouver dans des pools de noeuds worker différents. Pour éviter toute interruption de service, assurez-vous que votre cluster dispose d'une capacité suffisante pour prendre en charge la charge de travail avant de lancer la mise à jour. Pour plus d'informations, voir Ajout de noeuds worker à des clusters classiques ou Ajout de noeuds worker à des clusters de VPC.
- Que devient mon nœud de travail lors d'une mise à jour?
- Pour les nœuds de travail bare metal VPC, le nœud de travail est rechargé sur place à l'aide de
worker reload. Le nœud conserve son adresse IP; les données présentes sur les disques locaux sont supprimées et doivent être stockées en dehors du nœud de travail. Pour les instances de serveur virtuel (VSI) VPC, le nœud de travail est remplacé en supprimant l'ancien nœud de travail et en provisionnant un nouveau nœud de travail fonctionnant avec le correctif ou la versionmajor.minormise à jour. Le noeud worker de remplacement est créé dans la même zone, dans le même pool de noeuds worker et avec la même version que le noeud worker supprimé. Cependant, une nouvelle adresse IP privée est affectée au noeud worker de remplacement qui perd alors les libellés ou les taches personnalisés que vous avez appliqués au précédent. En revanche, les taches et les libellés d'origine du pool de noeuds worker sont toujours appliqués au noeud worker de remplacement. - Que se passe-t-il si je remplace plusieurs nœuds de travail en même temps?
- Si vous remplacez plusieurs noeuds worker en même temps, ils sont supprimés et remplacés simultanément, et non un par un. Vérifiez que vous disposez de suffisamment de capacité dans votre cluster pour replanifier vos charges de travail avant de remplacer des noeuds worker.
- Que se passe-t-il si aucun nœud de travail de remplacement n'est créé?
- Un noeud worker de remplacement n'est pas créé si la fonction de rééquilibrage automatique n'est pas activée pour le pool de noeuds worker.
Prérequis
Avant de mettre à jour les nœuds de travail de votre infrastructure VPC, effectuez les étapes préalables suivantes.
Pour les travailleurs VPC VSI, le nœud de travail est supprimé et remplacé par un nouveau nœud. Pour les instances bare metal VPC, le nœud est rechargé sur place. Dans les deux cas, les données qui ne sont pas stockées sur un support de stockage persistant sont définitivement supprimées. Vérifiez que toutes les données que vous devez conserver sont stockées en dehors du nœud de travail avant de commencer.
Si vous avez déployé l' Portworx dans votre cluster, suivez les étapes permettant de mettre à jour les nœuds de travail VPC avec des volumes Portworx au lieu de suivre les étapes décrites sur cette page.
Actions à effectuer avant la mise à jour (à réaliser dans l'ordre)
- Consultez les informations sur la version d’ Red Hat OpenShift on IBM Cloud pour connaître les derniers correctifs de sécurité et les modifications requises.
- Apportez toutes les modifications marquées Mise à jour avant la version de référence ou Mise à jour après la version de référence dans le guide de préparation de la version d' Red Hat OpenShift.
- Mettez à jour le nœud maître avant de mettre à jour les nœuds de travail. La version du nœud de travail ne peut pas être supérieure à celle du serveur API qui s'exécute sur le maître.
- Accédez à votre cluster Red Hat OpenShift.
Autorisations requises
Assurez-vous de disposer du rôle d’accès à la plateforme IAM Opérateur ou Administrateur. Si vous n'êtes pas sûr de votre rôle d'accès, accédez à Gérer → Accès (IAM) → Utilisateurs dans la console IBM Cloud, ou adressez-vous à l'administrateur de votre compte.
Mise à jour des noeuds worker de VPC dans l'interface CLI
Suivez les étapes suivantes pour mettre à jour vos nœuds de travail à l'aide de l'interface de ligne de commande (CLI).
- Effectuez les étapes prérequises.
- Facultatif : augmentez la capacité de votre cluster en redimensionnant le pool de travailleurs. Les pods sur le noeud worker peuvent être replanifiés et continuent d'être exécutés sur les noeuds worker ajoutés lors de la mise à jour. Pour plus d'informations, voir Ajout de noeuds worker à des clusters classiques ou Ajout de noeuds worker à des clusters de VPC.
- Répertoriez les noeuds worker de votre cluster et notez l'ID et l'adresse IP principale du noeud worker que vous souhaitez mettre à jour.
ibmcloud oc worker ls --cluster CLUSTER - Mettez à jour le nœud de travail. La commande à utiliser dépend du type de nœud de travail.
Utilisateurs de serveurs bare metal VPC: utilisez worker reload pour réimager le nœud en place. Le nœud conserve son adresse IP et est mis à jour avec la dernière version du correctif.
```sh {: pre}
ibmcloud oc worker reload --cluster CLUSTER --worker WORKER-NODE-ID
```
**Workers d'instance de serveur virtuel (VSI) VPC**: utilisez la commande `worker replace` pour mettre à jour soit la version du correctif, soit la version `major.minor` qui correspond à la version maître.
* Pour mettre à jour le nœud de travail à la même `major.minor` version que le nœud maître, incluez l'option `--update`.
```sh {: pre}
ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID --update
```
* Pour mettre à jour le nœud de travail vers la dernière version du correctif de la même `major.minor` version, n'incluez pas l'option `--update`.
```sh {: pre}
ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID
```
- Répétez ces étapes pour chaque noeud worker que vous devez mettre à jour.
- Facultatif : une fois que les nœuds de travail remplacés sont en état Prêt, redimensionnez le pool de nœuds de travail pour qu'il corresponde à la capacité de cluster souhaitée. Pour plus d'informations, Ajout de noeuds worker à des clusters de VPC.
Si vous exécutez Portworx dans votre cluster de VPC, vous devez connecter manuellement votre volume Block Storage for VPC à votre nouveau noeud worker.
Mises à jour du micrologiciel lors du redémarrage d’un serveur bare metal VPC
Lorsque vous redémarrez un nœud de travail bare metal dans un VPC, l’infrastructur IBM Cloud vérifie automatiquement si une mise à jour du micrologiciel est en attente pour ce serveur et l’applique dans le cadre du processus de redémarrage. Aucune action supplémentaire n'est requise pour déclencher la mise à jour du micrologiciel.
Tenez compte des considérations suivantes lorsque vous rechargez un nœud de travail bare metal VPC :
- Temps de rechargement prolongé
- Si une mise à jour du micrologiciel est appliquée pendant le rechargement, la durée totale du rechargement peut augmenter considérablement (de 30 minutes ou plus) par rapport à la durée habituelle. Planifiez vos fenêtres de maintenance en conséquence.
- Aucune visibilité préalable sur les mises à jour à venir
- Il n'est pas possible de savoir si une mise à jour du micrologiciel est en attente pour un nœud de travail avant d'exécuter la commande de rechargement.
- Risque de perte de données
- Comme pour tous les rechargements de machines bare metal VPC, les données présentes sur les disques locaux sont supprimées lors du rechargement, qu’une mise à jour du micrologiciel soit appliquée ou non. Sauvegardez toutes les données qui ne sont pas stockées sur un support de stockage persistant avant de procéder à la rechargement.
- Échec du rechargement dû à une mise à jour du micrologiciel
- Dans certains cas, une mise à jour du micrologiciel peut échouer, ce qui entraîne le passage du nœud de travail dans un état
reload_failed(Failed to reload worker) avec les détails de statutThe infrastructure firmware update has failed. (P4056). Si cela se produit :- Patientez quelques minutes, puis réessayez de recharger la page en relançant
ibmcloud oc worker reload --cluster CLUSTER --worker WORKER-NODE-IDla commande. - Si l'erreur persiste après 2 ou 3 tentatives, ouvrez un dossier d'assistance sur IBM Cloud.
- Patientez quelques minutes, puis réessayez de recharger la page en relançant
Mise à jour des noeuds worker de VPC dans la console
Vous pouvez mettre à jour vos noeuds worker de VPC dans la console. Avant de commencer, pensez à ajouter des nœuds de travail au cluster afin d'éviter toute interruption de service pour vos applications.
Le fonctionnement de l'action Update dépend du type de nœud de travail et de la plateforme de cluster :
- Machines bare metal VPC: le nœud est rechargé sur place. Aucun nœud de remplacement n'est provisionné.
- Workers d'instance de serveur virtuel (VSI) VPC: le nœud worker est remplacé par un nouveau nœud lors de la mise à jour.
- Effectuez les étapes prérequises.
- Dans le menu de la console IBM Cloud
, cliquez sur Conteneurs > Clusters.
- Sur la page Clusters, cliquez sur votre cluster.
- Dans l'onglet Noeuds worker, sélectionnez la case à cocher de chaque noeud worker que vous désirez mettre à jour. Une barre d'actions s'affiche sur la ligne d'en-tête du tableau.
- Dans la barre de menus, cliquez sur Mettre à jour.
Mise à jour des versions (types de machine)
Mettez à jour la configuration (type de machine) de vos nœuds de travail lorsque vous avez besoin de ressources de calcul différentes — par exemple, davantage de mémoire, des processeurs supplémentaires ou une machine équipée d’un GPU. La mise à jour d'une variante provisionne un nouveau pool de travailleurs avec la nouvelle variante, puis supprime l'ancien pool de travailleurs. Ce processus remplaçant les nœuds, toutes les données présentes sur les nœuds de travail qui ne sont pas stockées sur un support de stockage persistant sont définitivement supprimées.
Avant de commencer
- Accédez à votre cluster Red Hat OpenShift.
- Vérifiez que toutes les données que vous devez conserver sont stockées sur un support de stockage persistant en dehors du nœud de travail. Les données stockées uniquement sur le nœud de travail sont perdues et ne peuvent pas être récupérées.
- Assurez-vous de disposer du rôle d’accès à la plateforme IAM Opérateur ou Administrateur. Si vous n'êtes pas sûr de votre rôle d'accès, accédez à Gérer → Accès (IAM) → Utilisateurs dans la console IBM Cloud, ou adressez-vous à l'administrateur de votre compte.
Pour mettre à jour les versions
-
Affichez la liste des noeuds worker disponibles et notez leur adresse IP privée.
- Affichez la liste des pools de noeuds worker disponibles dans votre cluster.
ibmcloud oc worker-pool ls --cluster CLUSTER ``` 2. Affichez la liste des noeuds worker figurant dans le pool de noeuds worker. Notez les valeurs des zones **ID** et **Adresse IP privée**. ```sh {: pre} ibmcloud oc worker ls --cluster CLUSTER --worker-pool WORKER-POOL ``` 3. Affichez les détails relatifs à votre noeud worker. Dans la sortie, notez la zone et l'ID du VLAN privé ou public pour les clusters classiques ou l'ID du sous-réseau pour les clusters de VPC. ```sh {: pre} ibmcloud oc worker get --cluster CLUSTER --worker WORKER-ID ``` -
Répertoriez les versions disponibles dans la zone.
ibmcloud oc flavors --zone <zone> -
Créez un noeud worker avec le nouveau type de machine.
- Créez un pool de noeuds worker avec le nombre de noeuds worker que vous désirez remplacer.
- Clusters classiques :
ibmcloud oc worker-pool create classic --name WORKER-POOL --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE - Clusters VPC de génération 2 :
ibmcloud oc worker-pool create vpc-gen2 --name NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE --label LABEL
- Clusters classiques :
- Vérifiez que le pool de noeuds worker est créé.
ibmcloud oc worker-pool ls --cluster CLUSTER ``` 3. Ajoutez la zone de votre pool de noeuds worker que vous avez récupérée auparavant. Lorsque vous ajoutez une zone, les noeuds worker définis dans votre pool de noeuds worker sont mis à disposition dans cette zone et pris en compte pour la planification des charges de travail à venir. Si vous souhaitez répartir vos noeuds worker sur plusieurs zones, sélectionnez un emplacement multizone [classique](/docs/openshift?topic=openshift-regions-and-zones#zones-mz) ou [VPC](/docs/openshift?topic=openshift-regions-and-zones#zones-vpc). * Clusters classiques : ```sh {: pre} ibmcloud oc zone add classic --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --private-vlan PRIVATE-VLAN-ID --public-vlan PUBLIC-VLAN-ID ``` * Clusters VPC : ```sh {: pre} ibmcloud oc zone add vpc-gen2 --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --subnet-id VPC-SUBNET-ID ``` - Créez un pool de noeuds worker avec le nombre de noeuds worker que vous désirez remplacer.
-
Patientez jusqu'à la fin du déploiement des noeuds worker. Lorsque l'état des noeuds worker passe à Normal, le déploiement est terminé.
ibmcloud oc worker ls --cluster CLUSTER -
Supprimez l'ancien pool de travailleurs. Si vous supprimez une instance Classic bare metal (facturée mensuellement), vous serez facturé pour le mois entier, même si vous la supprimez en cours de mois. Les instances VPC, y compris les instances bare metal, sont facturées à l'heure.
- Supprimez le pool de noeuds worker associé à l'ancien type de machine. Cette opération retire tous les noeuds worker qui se trouvent dans le pool dans toutes les zones. L'exécution de ce processus peut prendre quelques minutes.
ibmcloud oc worker-pool rm --worker-pool WORKER-POOL --cluster CLUSTER ``` 2. Vérifiez que le pool de noeuds worker est supprimé. ```sh {: pre} ibmcloud oc worker-pool ls --cluster CLUSTER ``` -
Vérifiez que les noeuds worker ont été supprimés de votre cluster.
ibmcloud oc worker ls --cluster CLUSTER -
Répétez ces étapes pour mettre à jour d'autres pools de noeuds worker ou d'autres noeuds worker autonomes vers différentes versions.
Comment les pools de noeuds worker sont-ils réduits?
Cette section décrit la logique de hiérarchisation automatique utilisée lorsque des nœuds de travail sont supprimés lors d'une réduction d'échelle, par exemple après une mise à jour d'un nœud de travail ou lorsque vous exécutez ibmcloud oc worker-pool resize.
Vous n'avez pas besoin de configurer ce comportement : il s'active automatiquement.
Lorsque le nombre de nœuds de travail dans un pool de travail est réduit, les nœuds de travail sont classés par ordre de priorité pour la suppression en fonction de plusieurs critères, notamment leur état, leur intégrité et leur version.
Cette logique de priorité n'est pas pertinente pour le module complémentaire de mise à l'échelle automatique.
Le tableau suivant montre l'ordre dans lequel les noeuds worker sont prioritaires pour la suppression.
Vous pouvez exécuter la commande ibmcloud oc worker ls pour afficher toutes les propriétés de noeud worker répertoriées dans le tableau.
| Priorité | Propriété | Description |
|---|---|---|
| 1 | Etat du noeud worker | Les noeuds worker dont l'état ne fonctionne pas ou qui ne fonctionnent pas correctement sont prioritaires pour le retrait. Cette liste affiche les états classés de la priorité la plus élevée à la priorité la plus faible: provision_failed,
deploy_failed, deleting, provision_pending, provisioning, deploying, provisioned, reloading_failed, reloading, deployed. |
| 2 | Santé des nœuds worker | Les noeuds worker défaillants sont prioritaires par rapport aux noeuds worker en bonne santé. Cette liste affiche les états de santé classés de la priorité la plus élevée à la priorité la plus faible: critical, warning,
pending, unsupported, normal. |
| 3 | Version du noeud worker | Les noeuds worker qui s'exécutent sur des versions plus anciennes ont une priorité de suppression plus élevée. |
| 4 | Cadre de placement choisi | Pour les noeuds worker exécutés sur un hôte dédié uniquement. Les noeuds worker qui s'exécutent sur un hôte dédié dont l'option DesiredPlacementDisabled est définie sur true ont une priorité plus
élevée pour la suppression. |
| 5 | ordre alphabétique | Une fois les noeuds worker classés par ordre de priorité en fonction des facteurs répertoriés ci-dessus, ils sont supprimés par ordre alphabétique. Notez que, en fonction des conventions d'ID de noeud worker, les ID des noeuds worker sur les clusters classiques et VPC sont en corrélation avec l'âge, de sorte que les noeuds worker plus anciens sont supprimés en premier. |
Mise à jour des composants de cluster
Votre cluster Red Hat OpenShift on IBM Cloud est livré avec des composants, par exemple, Ingress, qui s'installent automatiquement lorsque vous mettez à disposition le cluster. Par défaut, ces composants sont automatiquement mis à jour par IBM. Cependant, vous pouvez désactiver les mises à jour automatiques pour certains composants afin d'effectuer leur mise à jour manuellement indépendamment du maître et des noeuds worker.
- Quels composants par défaut puis-je mettre à jour séparément du cluster?
- Vous pouvez éventuellement désactiver les mises à jour automatiques des composants suivants :
- Y a-t-il des composants que je ne peux pas mettre à jour séparément du cluster?
- Oui. Votre cluster est déployé avec les composants gérés suivants et les ressources associées qui ne peuvent pas être changées, à l'exception des pods d'échelle ou des configmaps d'édition pour certains avantages de performances. Si vous essayez de modifier l'un de ces composants de déploiement, leurs paramètres d'origine sont restaurés à intervalles réguliers lorsqu'ils sont mis à jour avec le maître cluster. Toutefois, les ressources que vous créez qui sont associées à ces composants, telles que les règles réseau Calico que vous créez pour être implémentées par les composants de déploiement Calico, ne sont pas mises à jour.
calicocomposantscorednscomposantsibm-cloud-provider-ipibm-file-pluginibm-keepalived-watcheribm-master-proxyibm-storage-watcherkubernetes-dashboardcomposantsmetrics-server- Composants
olm-operatoretcatalog(versions 1.16 et suivantes) vpn
- Puis-je installer d'autres plug-ins ou modules complémentaires que les composants par défaut?
- Oui. Red Hat OpenShift on IBM Cloud propose d'autres plug-ins et modules complémentaires parmi lesquels vous pouvez choisir pour ajouter des fonctionnalités à votre cluster. Par exemple, vous pouvez souhaiter activer les modules complémentaires gérés par IBM dans votre cluster. Vous devez mettre à jour ces modules séparément en suivant les étapes de mise à jour des modules complémentaires gérés.
Gestion des mises à jour automatiques pour Fluentd
Lorsque vous créez une configuration de journalisation pour une source dans votre cluster pour l'acheminement vers un serveur externe, un composant Fluentd est créé dans le cluster. Pour modifier vos configurations de journalisation ou de filtre, le composant Fluentd doit être à la dernière version. Par défaut, les mises à jour automatiques du composant sont activées.
Pour exécuter les commandes suivantes, vous devez disposer du rôle d'accès à la plateforme IAM IBM Cloud() pour le cluster.
Vous pouvez gérer les mises à jour automatiques du composant Fluentd de plusieurs manières indiquées ci-après.
- Vérifiez si les mises à jour automatiques sont activées en exécutant
ibmcloud oc logging autoupdate get --cluster CLUSTERcommande. - Désactivez les mises à jour automatiques en exécutant la commande
ibmcloud oc logging autoupdate disable. - Si les mises à jour automatiques sont désactivées et que vous devez modifier votre configuration, il y a deux options possibles :
- Activez les mises à jour automatiques pour vos pods Fluentd.
ibmcloud oc logging autoupdate enable --cluster CLUSTER ``` * Forcez une mise à jour unique lorsque vous utilisez une commande de journalisation comportant l'option `--force-update`. Vos pods sont mis à jour vers la dernière version du composant Fluentd, mais Fluentd ne se mettra plus à jour automatiquement par la suite. Exemple de commande ```sh {: pre} ibmcloud oc logging config update --cluster CLUSTER --id LOG-CONFIG-ID --type LOG-TYPE --force-update ```
Gestion des mises à jour automatiques pour les équilibreurs de charge d'application Ingress
Contrôlez à quel moment doit s'effectuer la mise à jour du composant d'équilibreur de charge d'application (ALB) Ingress. Pour savoir comment maintenir à jour les équilibreurs de charge d'application, voir Gestion du cycle de vie de l'équilibreur de charge d'application Ingress.
Mise à jour des modules complémentaires gérés
Les modules complémentaires pour les clusters gérés d' IBM Cloud Kubernetes Service constituent un moyen simple d'enrichir votre cluster avec des fonctionnalités open source, telles que l' Istio. La version de l'outil open source que vous ajoutez à votre cluster est testée par IBM et approuvée en vue de son utilisation dans IBM Cloud Kubernetes Service. Pour mettre à jour vers la dernière version des modules complémentaires gérés que vous avez activés dans votre cluster, voir Mise à jour des modules complémentaires gérés.