Pour mettre à niveau Tanzu Kubernetes Grid (TKG), téléchargez et installez la nouvelle version de la CLI Tanzu sur la machine que vous utilisez comme machine de démarrage. Vous devez également télécharger et installer des modèles d'image de base et des machines virtuelles, selon que vous mettez à niveau des clusters que vous avez précédemment déployés sur vSphere, Amazon Web Services (AWS) ou Azure.
RemarqueDans le chemin de mise à niveau de TKG, la version v2.2 suit immédiatement la version v2.1.1.
Après avoir installé les nouvelles versions des composants, utilisez les commandes de CLI tanzu mc upgrade
et tanzu cluster upgrade
pour mettre à niveau les clusters de gestion et les clusters de charge de travail.
Les sections suivantes sont les étapes générales requises pour mettre à niveau Tanzu Kubernetes Grid. Cette procédure part du principe que vous effectuez une mise à niveau vers Tanzu Kubernetes Grid v2.2.0.
Certaines étapes ne sont requises que si vous effectuez une mise à niveau mineure de Tanzu Kubernetes Grid v2.1.x vers la version v2.2.x et ne sont pas requises si vous effectuez une mise à niveau de correctif de Tanzu Kubernetes Grid v2.2 vers la version v2.2.y.
Avant d'effectuer une mise à niveau vers TKG v2.2.x, assurez-vous que votre déploiement actuel est TKG v2.1.x ou une version v2.2 antérieure. Pour effectuer une mise à niveau vers TKG v2.2.x à partir de versions antérieures à la version v2.1, vous devez d'abord effectuer la mise à niveau vers la version v2.1.x avec la version v2.1.x de la CLI Tanzu.
ImportantLes versions de la CLI Tanzu compatibles avec TKG 2.x et disposant du superviseur vSphere with Tanzu dans vSphere 8 ne sont pas compatibles avec le cluster superviseur dans vSphere 7. Pour utiliser la CLI Tanzu avec un cluster superviseur vSphere with Tanzu sur vSphere 7, utilisez la version de la CLI Tanzu de TKG v1.6. Pour utiliser les versions de la CLI Tanzu compatibles avec TKG 2.x et un superviseur, effectuez une mise à niveau vers vSphere 8. Vous pouvez déployer un cluster de gestion TKG 2.x autonome sur vSphere 7 si aucun cluster superviseur vSphere with Tanzu n'est présent. Pour plus d'informations sur la compatibilité entre la CLI Tanzu et les produits VMware, reportez-vous à la documentation de la CLI Tanzu.
Cette étape est requise pour les mises à niveau majeures de la version v2.1.x vers la version v2.2.x et de correctifs de la version v2.2.x vers la version v2.2.y.
Pour télécharger et installer la nouvelle version de la CLI Tanzu, procédez comme suit.
Supprimez le fichier ~/.config/tanzu/tkg/compatibility/tkg-compatibility.yaml
.
Si vous ne supprimez pas ce fichier, la nouvelle version de la CLI Tanzu continuera d'utiliser la nomenclature de la version précédente. La suppression de ce fichier entraîne l'extraction de la nomenclature mise à jour par la CLI Tanzu. Vous devez effectuer cette étape lors de la mise à niveau de la version 2.1.x vers la version 2.2.x et lors de la mise à niveau de la version 2.2.x vers la version 2.2.y.
Suivez les instructions de la section Installer la CLI Tanzu et d'autres outils à utiliser avec des clusters de gestion autonomes pour télécharger et installer la CLI Tanzu et kubectl
sur la machine sur laquelle vous exécutez actuellement vos commandes tanzu
.
tanzu version
pour vérifier que la version correcte de la CLI Tanzu est correctement installée. Tanzu Kubernetes Grid v2.2 utilise la CLI Tanzu v0.29.0, basée sur Tanzu Framework v0.29.0.kubectl
, exécutez kubectl version
pour vérifier que la version correcte de kubectl
est correctement installée.Pour plus d'informations sur les commandes et options de la CLI Tanzu disponibles, reportez-vous à la section Référence de commande de la CLI Tanzu.
Avant de pouvoir mettre à niveau des clusters de gestion et de charge de travail, vous devez effectuer des étapes de préparation selon que vous avez déployé des clusters sur vSphere, AWS ou Azure. Cette étape est requise pour les mises à niveau majeures de la version v2.1.x vers la version v2.2.x et de correctifs de la version v2.2.x vers la version v2.2.y.
Cette procédure part du principe que vous effectuez la mise à niveau vers Tanzu Kubernetes Grid v2.2.x.
Téléchargez les derniers fichiers OVA de Tanzu Kubernetes Grid pour les lignes de version du système d'exploitation et de Kubernetes qu'exécutent vos clusters de gestion et de charge de travail.
Par exemple, pour les images Photon v3 :
Pour les images Ubuntu 20.04 :
Importantassurez-vous de télécharger les modèles d'image de base OVA les plus récents en cas de versions de correctifs de sécurité. Vous trouverez des modèles d'image de base mis à jour qui incluent des correctifs de sécurité sur la page de téléchargement du produit Tanzu Kubernetes Grid.
Suivez les invites du programme d'installation pour déployer une machine virtuelle à partir du fichier OVA.
tkg-user
, au modèle avec le rôle Tanzu Kubernetes Grid, par exemple, TKG
. Vous avez créé cet utilisateur et ce rôle dans Préparation au déploiement de clusters de gestion pour vSphere.Répétez la procédure pour chacune des versions de Kubernetes pour lesquelles vous avez téléchargé le fichier OVA.
Compatibilité du SDDC avec VMware Cloud on AWS
Si vous mettez à niveau des clusters de charge de travail qui sont déployés sur VMware Cloud on AWS, vérifiez que la version de SDDC (Software-Defined Datacenter) sous-jacente utilisée par votre déploiement existant est compatible avec la version de Tanzu Kubernetes Grid vers laquelle vous effectuez la mise à niveau.
Pour afficher la version d'un SDDC, sélectionnez Afficher les détails (View Details) sur la vignette du SDDC dans la console VMware Cloud et cliquez sur le volet Prise en charge (Support).
Pour valider la compatibilité avec Tanzu Kubernetes Grid, reportez-vous à la Matrice d'interopérabilité des produits VMware.
Les AMI (Amazon Machine Image) Amazon Linux 2 qui incluent les versions de Kubernetes prises en charge sont publiquement disponibles pour tous les utilisateurs AWS, dans toutes les régions AWS prises en charge. Tanzu Kubernetes Grid utilise automatiquement l'AMI appropriée pour la version de Kubernetes que vous spécifiez lors de la mise à niveau.
Pour accepter les conditions :
Répertoriez toutes les images de VM disponibles pour Tanzu Kubernetes Grid dans Azure Marketplace :
az vm image list --publisher vmware-inc --offer tkg-capi --all
Acceptez les conditions de la nouvelle image de machine virtuelle par défaut :
az vm image terms accept --urn publisher:offer:sku:version
Par exemple, pour accepter les conditions de l'image de VM par défaut dans Tanzu Kubernetes Grid v2.2.x, k8s-1dot25dot7-ubuntu-2004
, exécutez :
az vm image terms accept --urn vmware-inc:tkg-capi:k8s-1dot25dot7-ubuntu-2004:2021.05.17
Si vous prévoyez de mettre à niveau l'un de vos clusters de charge de travail vers une version de Kubernetes autre que la version par défaut, telle que v1.24.11 ou v1.23.17, acceptez les conditions de chaque version autre que celle par défaut que vous souhaitez utiliser pour vos VM de cluster.
Cette étape n'est requise que pour TKG avec un cluster de gestion autonome. Si vous exécutez TKG avec un superviseur vSphere with Tanzu, mettez à niveau le superviseur dans le cadre de vSphere et mettez à jour la version de Kubernetes du superviseur en mettant à niveau ses TKr.
Cette étape est requise pour les mises à niveau majeures de la version v2.1.x vers la version v2.2.x et de correctifs de la version v2.2.x vers la version v2.2.y.
Pour mettre à niveau Tanzu Kubernetes Grid, vous devez mettre à niveau tous les clusters de gestion de votre déploiement. Vous ne pouvez pas mettre à niveau les clusters de charge de travail tant que vous n'avez pas mis à niveau les clusters de gestion qui les gèrent.
Suivez la procédure décrite dans la section Mettre à niveau des clusters de gestion autonomes pour mettre à niveau vos clusters de gestion.
Cette étape est requise pour les mises à niveau majeures de la version v2.1.x vers la version v2.2.x et de correctifs de la version v2.2.x vers la version v2.2.y.
Suivez la procédure décrite dans la section Mettre à niveau les clusters de charge de travail pour mettre à niveau les clusters de charge de travail qui exécutent vos charges de travail.
Une fois que vous avez mis à niveau vos clusters, vous devez effectuer des étapes supplémentaires pour terminer le processus de mise à niveau.
Certains modules installés par défaut dans le cluster de gestion, par exemple, cert-manager
peuvent être installés en tant que modules gérés par la CLI dans les clusters de charge de travail et de services partagés. Lorsque le cluster de gestion est mis à niveau vers la dernière version de Tanzu Kubernetes Grid, ses modules par défaut sont automatiquement mis à jour.
Vous pouvez exécuter différentes versions des modules gérés via CLI dans différents clusters de charge de travail. Dans un cluster de charge de travail, vous pouvez exécuter la dernière version prise en charge d'un module géré via la CLI, ou les versions du module des deux dernières versions installées précédemment de Tanzu Kubernetes Grid. Par exemple, si la dernière version en module de cert-manager
est 1.10.1 et que vos deux installations précédentes de Tanzu Kubernetes Grid exécutent cert-manager
1.7.2 et 1.5.3, vous pouvez exécuter les versions 1.10.1, v1.7.2 et 1.5.3 de cert-manager
dans les clusters de charge de travail.
Pour les clusters de charge de travail qui exécutent des versions de modules antérieures à n-2 installées de Tanzu Kubernetes Grid plus anciennes que les versions du module dans le cluster de gestion, vous devez mettre à jour le référentiel de modules (reportez-vous à la section Mettre à jour un référentiel de modules), puis mettre à niveau le module dans les clusters de charge de travail (reportez-vous à la section Mettre à jour un module). Si vous ne mettez pas à niveau la version de module, vous ne pourrez pas mettre à jour la configuration du module, car le référentiel de modules peut ne pas inclure de version plus ancienne que la version n-2 du module.
ImportantSi vous avez installé Prometheus sur un cluster de charge de travail et que vous mettez à niveau le cluster de charge de travail vers Kubernetes v1.25, vous devez mettre à niveau Prometheus vers la version
2.37.0+vmware.3-tkg.1
. Les versions antérieures du module Prometheus, par exemple version2.37.0+vmware.1-tkg.1
, ne sont pas compatibles avec Kubernetes 1.25.
Selon que vos clusters s'exécutent sur vSphere, AWS ou Azure, vous devez effectuer des opérations après la mise à niveau des clusters.
Si NSX ALB n'a pas été activé dans votre installation TKG v2.1, reportez-vous à la section Installer et configurer NSX Advanced Load Balancer pour obtenir plus d'informations sur l'installation de NSX ALB.
Si NSX ALB a été activé dans votre installation de TKG v2.1, reportez-vous aux Notes de mise à jour de Tanzu Kubernetes Grid v2.2 pour lesquelles les versions de contrôleur Avi sont prises en charge dans cette publication et, si nécessaire, mettez à niveau le contrôleur Avi vers une version compatible. Pour savoir comment mettre à niveau le contrôleur Avi, reportez-vous à la section Mises à niveau flexibles pour Avi Vantage.
Si le cluster ne l'a pas déjà installé, suivez cette procédure pour installer le pilote AWS EBS CSI après la mise à niveau de votre installation de Tanzu Kubernetes Grid vers la version v2.2 et les versions ultérieures.
Accordez des autorisations pour le pilote AWS EBS CSI :
export AWS_REGION={YOUR_AWS_REGION}
tanzu mc permissions aws set
Pour chaque cluster de charge de travail qui utilise le stockage CSI :
Exportez les variables d'environnement suivantes et définissez l'indicateur de fonctionnalité :
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/aws-ebs-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
Définissez NAMESPACE
sur l'espace de noms du cluster, tkg-system
dans l'exemple ci-dessus.
Générez le manifeste du pilote CSI :
tanzu cl create ${TARGET_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
Où TARGET_CLUSTER_NAME
correspond au nom du cluster sur lequel vous installez le pilote CSI.
Mettez à jour l'espace de noms du secret dans les métadonnées dans csi-driver-addon-manifest.yaml
avec l'espace de noms du cluster de charge de travail. Utilisez la commande kubectl get cluster -A
pour afficher l'espace de noms du cluster.
Appliquez les modifications dans le contexte du cluster de gestion :
kubectl apply -f csi-driver-addon-manifest.yaml
Annulez la définition des variables d'environnement et de l'indicateur de fonctionnalité suivants :
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
Pour le cluster de gestion qui utilise le stockage CSI :
Exportez les variables d'environnement suivantes :
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/aws-ebs-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
Définissez NAMESPACE
sur l'espace de noms du cluster, tkg-system
dans l'exemple ci-dessus.
Générez le manifeste du pilote CSI :
tanzu mc create ${MANAGEMENT_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
Où MANAGEMENT_CLUSTER_NAME
est le nom du cluster de gestion.
Mettez à jour l'espace de noms du secret dans les métadonnées dans csi-driver-addon-manifest.yaml
avec l'espace de noms du cluster de gestion. Utilisez la commande kubectl get cluster -A
pour afficher l'espace de noms du cluster.
Appliquez les modifications dans le contexte du cluster de gestion :
kubectl apply -f csi-driver-addon-manifest.yaml
Annulez la définition des variables d'environnement et de l'indicateur de fonctionnalité suivants :
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
Si le cluster ne l'a pas déjà installé, suivez cette procédure pour installer le pilote CSI du disque Azure après la mise à niveau de votre installation Tanzu Kubernetes Grid vers la version v2.2 et les versions ultérieures.
Exportez les variables d'environnement suivantes et définissez l'indicateur de fonctionnalité :
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azuredisk-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
Définissez NAMESPACE
sur l'espace de noms du cluster, tkg-system
dans l'exemple ci-dessus.
Pour chaque cluster de charge de travail qui utilise le stockage CSI :
Générez le manifeste du pilote CSI :
tanzu cl create ${TARGET_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
Où TARGET_CLUSTER_NAME
correspond au nom du cluster sur lequel vous installez le pilote CSI.
Mettez à jour l'espace de noms du secret dans les métadonnées dans csi-driver-addon-manifest.yaml
avec l'espace de noms du cluster de charge de travail. Utilisez la commande kubectl get cluster -A
pour afficher l'espace de noms du cluster.
Appliquez les modifications dans le contexte du cluster de gestion :
kubectl apply -f csi-driver-addon-manifest.yaml
Annulez la définition des variables d'environnement et de l'indicateur de fonctionnalité suivants :
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
Pour le cluster de gestion qui utilise le stockage CSI :
Exportez les variables d'environnement suivantes :
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azuredisk-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
Définissez NAMESPACE
sur l'espace de noms du cluster, tkg-system
dans l'exemple ci-dessus.
Générez le manifeste du pilote CSI :
tanzu mc create ${MANAGEMENT_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
Où MANAGEMENT_CLUSTER_NAME
est le nom du cluster de gestion.
Mettez à jour l'espace de noms du secret dans les métadonnées dans csi-driver-addon-manifest.yaml
avec l'espace de noms du cluster de gestion. Utilisez la commande kubectl get cluster -A
pour afficher l'espace de noms du cluster.
Appliquez les modifications dans le contexte du cluster de gestion :
kubectl apply -f csi-driver-addon-manifest.yaml
Annulez la définition des variables d'environnement et de l'indicateur de fonctionnalité suivants :
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
Installer le pilote CSI du fichier Azure après la mise à niveau de Tanzu Kubernetes Grid
Si le cluster ne l'a pas déjà installé, suivez cette procédure pour installer le pilote CSI de fichier Azure après la mise à niveau de votre installation Tanzu Kubernetes Grid vers la version v2.2 et versions ultérieures.
Exportez les variables d'environnement suivantes et définissez l'indicateur de fonctionnalité :
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azurefile-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
Définissez NAMESPACE
sur l'espace de noms du cluster, tkg-system
dans l'exemple ci-dessus.
Pour chaque cluster de charge de travail qui utilise le stockage CSI :
Générez le manifeste du pilote CSI :
tanzu cl create ${TARGET_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
Où TARGET_CLUSTER_NAME
correspond au nom du cluster sur lequel vous installez le pilote CSI.
Mettez à jour l'espace de noms du secret dans les métadonnées dans csi-driver-addon-manifest.yaml
avec l'espace de noms du cluster de charge de travail. Utilisez la commande kubectl get cluster -A
pour afficher l'espace de noms du cluster.
Appliquez les modifications dans le contexte du cluster de gestion :
kubectl apply -f csi-driver-addon-manifest.yaml
Annulez la définition des variables d'environnement et de l'indicateur de fonctionnalité suivants :
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
Pour le cluster de gestion qui utilise le stockage CSI :
Exportez les variables d'environnement suivantes :
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azurefile-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
Définissez NAMESPACE
sur l'espace de noms du cluster, tkg-system
dans l'exemple ci-dessus.
Générez le manifeste du pilote CSI :
tanzu mc create ${MANAGEMENT_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
Où MANAGEMENT_CLUSTER_NAME
est le nom du cluster de gestion.
Mettez à jour l'espace de noms du secret dans les métadonnées dans csi-driver-addon-manifest.yaml
avec l'espace de noms du cluster de gestion. Utilisez la commande kubectl get cluster -A
pour afficher l'espace de noms du cluster.
Appliquez les modifications dans le contexte du cluster de gestion :
kubectl apply -f csi-driver-addon-manifest.yaml
Annulez la définition des variables d'environnement et de l'indicateur de fonctionnalité suivants :
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
Cette étape est requise pour les mises à niveau majeures de la version v2.1.x vers la version v2.2.x et de correctifs de la version v2.2.x vers la version v2.2.y.
Pour plus d'informations sur la mise à niveau de la récupération d'incident et des diagnostics, reportez-vous à la section Installer ou mettre à niveau le fichier binaire de récupération d'incident et de diagnostics.
Examinez vos clusters de gestion mis à niveau ou enregistrez-les dans Tanzu Mission Control. Reportez-vous à la section Examiner et enregistrer un cluster de gestion autonome récemment déployé.