vSphere with Tanzu prend en charge les mises à jour continues pour les clusters Clusters superviseurs et Service Tanzu Kubernetes Grid, ainsi que pour l'infrastructure prenant en charge ces clusters.

Mise à jour des clusters Clusters superviseurs et Service Tanzu Kubernetes Grid

vSphere with Tanzu utilise un modèle de mise à jour continue pour les clusters Clusters superviseurs et Service Tanzu Kubernetes Grid. Le modèle de mise à jour continue garantit une interruption de service minimale pour les charges de travail du cluster pendant le processus de mise à jour. Les mises à jour continues incluent la mise à niveau des versions du logiciel Kubernetes, ainsi que de l'infrastructure et des services prenant en charge les clusters Kubernetes, comme les configurations et les ressources de machine virtuelle, les services et les espaces de noms vSphere, ainsi que les ressources personnalisées.

Pour que la mise à jour réussisse, votre configuration doit répondre à plusieurs exigences de compatibilité. Par conséquent, le système impose des conditions de revérification pour s'assurer que les clusters sont prêts pour les mises à jour et il prend en charge la restauration si la mise à niveau du cluster échoue.
Note : Une mise à jour de vSphere with Tanzu implique davantage qu'une simple mise à niveau de la version du logiciel Kubernetes. Nous utilisons le terme « mise à jour » pour décrire ce processus au lieu du terme « mise à niveau », qui est une forme limitée de mise à jour qui augmente la version du logiciel.

Dépendance entre les mises à jour du Cluster superviseur et les mises à jour du cluster Service Tanzu Kubernetes Grid

Vous mettez à jour le Cluster superviseur et les clusters Service Tanzu Kubernetes Grid séparément. Notez toutefois qu'il y a des dépendances entre les deux.

La mise à jour d'un Cluster superviseur déclenchera probablement une mise à jour continue des clusters Service Tanzu Kubernetes Grid déployés. Reportez-vous à la section Mettre à jour le Cluster superviseur en effectuant une mise à jour des espaces de noms vSphere.

Vous devrez peut-être mettre à jour un ou plusieurs clusters Service Tanzu Kubernetes Grid avant de mettre à jour un Cluster superviseur si le cluster Service Tanzu Kubernetes Grid n'est pas conforme à la version du Cluster superviseur cible. Reportez-vous à la section Vérifier la compatibilité du cluster Tanzu Kubernetes pour la mise à jour.

À propos des mises à jour du Cluster superviseur

Lorsque vous lancez une mise à jour pour un Cluster superviseur, le système crée un nœud de plan de contrôle et l'associe au plan de contrôle existant. L'inventaire vSphere affiche quatre nœuds de plan de contrôle durant cette phase de la mise à jour, car le système ajoute un nouveau nœud mis à jour, puis supprime l'ancien nœud obsolète. Les objets sont migrés de l'un des anciens nœuds de plan de contrôle vers le nouveau et l'ancien nœud de plan de contrôle est supprimé. Ce processus se répète pour chaque nœud jusqu'à ce que tous les nœuds du plan de contrôle soient mis à jour. Une fois le plan de contrôle mis à jour, les nœuds worker sont mis à jour sur un modèle similaire de mise à jour continue. Les nœuds worker sont les hôtes ESXi et chaque processus Spherelet sur chaque hôte ESXi est mis à jour successivement.

Vous pouvez choisir entre les mises à jour suivantes :
  • Mettez à jour les Espaces de noms vSphere.
  • Mettez tout à jour, y compris les versions de VMware et les versions de Kubernetes.
Vous utilisez le workflow de mise à jour des Espaces de noms vSphere pour mettre à jour la version de Kubernetes que le Cluster superviseur exécute (par exemple, de Kubernetes 1.16.7 à Kubernetes 1.17.4) et l'infrastructure prenant en charge les clusters Cluster superviseur et Service Tanzu Kubernetes Grid. Ce type de mise à jour est le plus fréquent et est utilisé pour maintenir le rythme avec la cadence des versions de Kubernetes. La séquence de mise à jour des Espaces de noms vSphere est la suivante :
  1. Mettez à niveau vCenter Server.
  2. Effectuez une mise à jour des Espaces de noms vSphere (y compris la mise à niveau de Kubernetes).

Pour effectuer une mise à jour des Espaces de noms vSphere, reportez-vous à la section Mettre à jour le Cluster superviseur en effectuant une mise à jour des espaces de noms vSphere.

Utilisez le workflow de mise à jour complète pour mettre à jour tous les composants vSphere with Tanzu. Ce type de mise à jour est requis lorsque vous mettez à jour des versions majeures, par exemple de NSX-T 3.X vers la version 4 et de vSphere 7.X vers la version 8. Ce workflow de mise à jour est peu fréquent en fonction de la disponibilité de nouvelles versions de produits VMware. Voici la séquence de mise à jour complète :
  1. Vérifiez la matrice d'interopérabilité de VMware https://interopmatrix.vmware.com/Interoperability pour vCenter Server et NSX-T Data Center afin de déterminer la compatibilité. La fonctionnalité vSphere with Tanzu est mise en œuvre par le logiciel de plan de contrôle de la charge de travail (WCP) fourni avec vCenter Server.
  2. Mettez à niveau NSX-T Data Center, s'il est compatible.
  3. Mettez à niveau vCenter Server.
  4. Mettez à niveau vSphere Distributed Switch.
  5. Mettez à niveau les hôtes ESXi.
  6. Vérifiez la compatibilité des clusters Service Tanzu Kubernetes Grid provisionnés avec la version du Cluster superviseur cible.
  7. Mettez à jour Espaces de noms vSphere (y compris la version du Cluster superviseur Kubernetes).
  8. Mettez à jour les clusters Service Tanzu Kubernetes Grid.
Le diagramme illustre le workflow général pour les mises à jour de vSphere with Tanzu. Le diagramme montre les étapes des mises à jour de vSphere with Tanzu.

À propos des mises à jour du cluster Service Tanzu Kubernetes Grid

Lorsque vous mettez à jour un Cluster superviseur, les composants d'infrastructure prenant en charge les clusters Service Tanzu Kubernetes Grid déployés sur ce Cluster superviseur, comme le Service Tanzu Kubernetes Grid, sont également mis à jour. Chaque mise à jour de l'infrastructure peut inclure des mises à jour pour les services prenant en charge le Service Tanzu Kubernetes Grid (CNI, CSI, CPI) et des paramètres de configuration mis à jour pour le plan de contrôle et les nœuds worker qui peuvent être appliqués aux clusters Service Tanzu Kubernetes Grid existants. Pour vous assurer que votre configuration répond aux exigences de compatibilité, vSphere with Tanzu effectue des vérifications préalables lors de la mise à jour continue et garantit la conformité.

Pour effectuer une mise à jour continue d'un cluster Service Tanzu Kubernetes Grid, mettez à jour le manifeste du cluster. Voir Mettre à jour les clusters Tanzu Kubernetes. Cependant, lorsqu'une mise à jour des Espaces de noms vSphere est effectuée, le système propage immédiatement les configurations mises à jour vers tous les clusters Service Tanzu Kubernetes Grid. Ces mises à jour peuvent déclencher automatiquement une mise à jour continue du plan de contrôle Service Tanzu Kubernetes Grid et des nœuds worker.

Le processus de mise à jour continue pour le remplacement des nœuds de cluster est semblable à la mise à jour continue des espaces dans un déploiement Kubernetes. Deux contrôleurs distincts sont responsables de l'exécution d'une mise à jour continue des clusters Service Tanzu Kubernetes Grid : le contrôleur Modules complémentaires et le contrôleur TanzuKubernetesCluster. Au sein de ces deux contrôleurs, il existe trois étapes clés pour une mise à jour continue : la mise à jour des modules complémentaires, la mise à jour du plan de contrôle et la mise à jour des nœuds worker. Ces étapes sont effectuées dans l'ordre, avec des vérifications préalables qui empêchent le début d'une étape tant que l'étape précédente n'a pas suffisamment progressé. Ces étapes peuvent être ignorées si elles sont jugées inutiles. Par exemple, une mise à jour peut affecter uniquement les nœuds worker et n'exige donc pas de mise à jour du module complémentaire ou du plan de contrôle.

Pendant le processus de mise à jour, le système ajoute un nouveau nœud de cluster et attend que le nœud soit mis en ligne avec la version cible de Kubernetes. Le système marque ensuite l'ancien nœud pour être supprimé, passe au nœud suivant et répète le processus. L'ancien nœud n'est pas supprimé tant que tous les espaces ne sont pas supprimés. Par exemple, si un espace est défini avec des PodDisruptionBudgets qui empêchent l'épuisement complet d'un nœud, le nœud est détaché mais n'est pas supprimé tant que ces espaces ne peuvent pas être supprimés. Le système met d'abord à niveau tous les nœuds de plan de contrôle, puis les nœuds worker. Lors d'une mise à jour, l'état du cluster Service Tanzu Kubernetes Grid passe à « Mise à jour ». Une fois le processus de mise à jour continue terminé, l'état du cluster Service Tanzu Kubernetes Grid passe à « En cours d'exécution ».

Les espaces s'exécutant sur un cluster Service Tanzu Kubernetes Grid qui ne sont pas régis par un contrôleur de réplication seront supprimés pendant la mise à niveau de la version de Kubernetes dans le cadre du drainage du nœud worker lors de la mise à jour du cluster Service Tanzu Kubernetes Grid. Cela est vrai si la mise à jour du cluster est déclenchée manuellement ou automatiquement par une mise à jour des Espaces de noms vSphere. Les espaces non régis par un contrôleur de réplication comprennent les espaces qui ne sont pas créés dans le cadre d'une spécification de déploiement ou de ReplicaSet. Pour plus d'informations, reportez-vous à la rubrique Cycle de vie de l'espace : durée de vie de l'espace dans la documentation Kubernetes.