Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Mise à niveau et retour en arrière de Kubernetes

Après une mise à niveau vers la dernière version de Rancher, les clusters Kubernetes en aval peuvent être mis à niveau pour utiliser la dernière version prise en charge de Kubernetes.

Rancher appelle RKE (Rancher Kubernetes Engine) en tant que bibliothèque lors de la création et de l’édition des clusters RKE. Pour plus d’informations sur la configuration de la stratégie de mise à niveau pour les clusters RKE, consultez la documentation RKE.

Versions de Kubernetes testées

Avant qu’une nouvelle version de Rancher ne soit publiée, elle est testée avec les dernières versions mineures de Kubernetes pour garantir la compatibilité. Pour des détails sur les versions de Kubernetes qui ont été testées sur chaque version de Rancher, consultez les conditions de maintenance du support.

Comment fonctionnent les mises à niveau

RKE v1.1.0 a changé la façon dont les clusters sont mis à niveau.

Dans cette section de la documentation RKE,, vous apprendrez ce qui se passe lorsque vous modifiez ou mettez à niveau votre cluster Kubernetes RKE.

Lors de la mise à niveau de la version de Kubernetes d’un cluster, nous vous recommandons de :

  1. Prendre un instantané.

  2. Initier une mise à niveau de Kubernetes.

  3. Si la mise à niveau échoue, revenez à la version de Kubernetes du cluster avant la mise à niveau. Cela se fait en sélectionnant l’option Restaurer la version etcd et Kubernetes. Cela ramènera votre cluster à la version de Kubernetes d’avant la mise à niveau avant de restaurer l’instantané etcd.

L’opération de restauration fonctionnera sur un cluster qui n’est pas dans un état sain ou actif.

Mise à niveau de la version de Kubernetes

Conditions préalables :
  1. Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.

  2. Sur la page Clusters, allez au cluster que vous souhaitez mettre à niveau et cliquez sur ⋮ > Modifier la configuration.

  3. Dans le menu déroulant Version de Kubernetes, choisissez la version de Kubernetes que vous souhaitez utiliser pour le cluster.

  4. Cliquez sur Enregistrer.

Résultat : Kubernetes commence la mise à niveau pour le cluster.

Retour en arrière

Un cluster peut être restauré à une sauvegarde dans laquelle la version précédente de Kubernetes a été utilisée. Pour plus d’informations, référez-vous aux sections suivantes :

Configurer la stratégie de mise à niveau

Depuis RKE v1.1.0, des options de mise à niveau supplémentaires sont devenues disponibles pour vous donner un contrôle plus granulaire sur le processus de mise à niveau. Ces options peuvent être utilisées pour maintenir la disponibilité de vos applications pendant une mise à niveau de cluster si certaines conditions et exigences sont remplies.

La stratégie de mise à niveau peut être configurée dans l’interface utilisateur de Rancher, ou en modifiant le cluster.yml. Des options plus avancées sont disponibles en modifiant le cluster.yml.

Configurer le nombre maximum de nœuds de travail non disponibles dans l’interface utilisateur de Rancher

Depuis l’interface utilisateur de Rancher, le nombre maximum de nœuds de travail non disponibles peut être configuré. Lors d’une mise à niveau de cluster, les nœuds de travail seront mis à niveau par lots de cette taille.

Par défaut, le nombre maximum de nœuds de travail non disponibles est défini comme 10 % de tous les nœuds de travail. Ce nombre peut être configuré en pourcentage ou en entier. Lorsqu’il est défini en pourcentage, la taille du lot est arrondie à l’entier inférieur, avec un minimum d’un nœud.

Pour changer le nombre par défaut ou le pourcentage de nœuds de travail,

  1. Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.

  2. Sur la page Clusters, allez au cluster que vous souhaitez mettre à niveau et cliquez sur ⋮ > Modifier la configuration.

  3. Dans l’onglet Stratégie de mise à niveau, entrez le Concurrence des travailleurs comme un nombre fixe ou un pourcentage. Pour obtenir ce nombre, vous pouvez prendre le nombre de nœuds dans votre cluster et soustraire le nombre maximum de nœuds non disponibles.

  4. Cliquez sur Enregistrer.

Résultat : Le cluster est mis à jour pour utiliser la nouvelle stratégie de mise à niveau.

Activer le drainage des nœuds pendant les mises à niveau depuis l’interface utilisateur de Rancher

Par défaut, RKE cordonne chaque nœud avant de le mettre à niveau. Le drainage est désactivé pendant les mises à niveau par défaut. Si le drainage est activé dans la configuration du cluster, RKE cordonnera et drainera le nœud avant qu’il ne soit mis à niveau.

Pour activer le drainage de chaque nœud pendant une mise à niveau de cluster,

  1. Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.

  2. Sur la page Clusters, allez au cluster pour lequel vous souhaitez activer le drainage des nœuds et cliquez sur ⋮ > Modifier la configuration.

  3. Cliquez sur ⋮ > Modifier.

  4. Dans l’onglet Stratégie de mise à niveau, allez au champ Drainage des nœuds et cliquez sur Oui. Le drainage des nœuds est configuré séparément pour les nœuds de contrôle et les nœuds de travail.

  5. Configurez les options pour la suppression des pods. Pour plus d’informations sur chaque option, reportez-vous à cette section.

  6. Optionnellement, configurez une période bonus. La période bonus est le délai accordé à chaque pod pour nettoyer les choses, afin qu’ils aient la chance de sortir gracieusement. Les pods peuvent avoir besoin de terminer toutes les requêtes en cours, d’annuler des transactions ou de sauvegarder l’état dans un stockage externe. Si cette valeur est négative, la valeur par défaut spécifiée dans le pod sera utilisée.

  7. Optionnellement, configurez un délai d’attente, qui est la durée pendant laquelle le drainage doit continuer à attendre avant d’abandonner.

  8. Cliquez sur Enregistrer.

Résultat : Le cluster est mis à jour pour utiliser la nouvelle stratégie de mise à niveau.

  • Il existe un problème connu dans lequel l’interface utilisateur de Rancher ne montre pas l’état d’etcd et du plan de contrôle comme drainés, même s’ils sont en cours de drainage.

  • Lors d’une mise à niveau, les nœuds peuvent être drainés même lorsqu’aucun changement YAML visible par l’utilisateur n’est présent. Cela peut se produire si des fichiers de configuration non dynamiques sont mis à jour ou si une nouvelle system-agent-installer image est introduite. Dans de tels cas, Rancher génère un nouveau plan de mise à niveau, entraînant un nouveau hachage de plan. Lorsque Upgrade Strategy est défini sur Drain nodes, ce changement de plan peut déclencher le drainage des nœuds.

Maintenir la disponibilité des applications pendant les mises à niveau

Dans cette section de la documentation RKE,, vous apprendrez les exigences pour éviter les temps d’arrêt de vos applications lors de la mise à niveau du cluster.

Configurer la stratégie de mise à niveau dans le cluster.yml

Des options de configuration de stratégie de mise à niveau plus avancées sont disponibles en modifiant le cluster.yml.

Pour plus de détails, reportez-vous à Configurer la stratégie de mise à niveau dans la documentation RKE. La section comprend également un exemple cluster.yml pour configurer la stratégie de mise à niveau.

Dépannage

Si un nœud ne démarre pas après une mise à niveau, la commande rke up renvoie une erreur.

Aucune mise à niveau ne sera effectuée si le nombre de nœuds non disponibles dépasse le maximum configuré.

Si une mise à niveau s’arrête, vous devrez peut-être réparer un nœud non disponible ou le supprimer du cluster avant que la mise à niveau puisse continuer.

Un nœud défaillant peut se trouver dans de nombreux états différents :

  • Éteint

  • Indisponible

  • L’utilisateur vide un nœud pendant que la mise à niveau est en cours, donc il n’y a pas de kubelets sur le nœud

  • La mise à niveau elle-même a échoué

Si le nombre maximum de nœuds non disponibles est atteint pendant une mise à niveau, les clusters utilisateurs de Rancher resteront bloqués dans un état de mise à jour et ne progresseront pas dans la mise à niveau d’autres nœuds de plan de contrôle. Il continuera à évaluer l’ensemble des nœuds non disponibles au cas où l’un des nœuds deviendrait disponible. Si le nœud ne peut pas être réparé, vous devez supprimer le nœud pour continuer la mise à niveau.