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.3 suit immédiatement la version v2.2.
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.3.1.
Certaines étapes ne sont requises que si vous effectuez une mise à niveau mineure de Tanzu Kubernetes Grid v2.2.x vers la version v2.3.x et ne sont pas requises si vous effectuez une mise à niveau de correctif de Tanzu Kubernetes Grid v2.3 vers la version v2.3.y.
ImportantTanzu Kubernetes Grid v2.4.x est la dernière version de TKG qui prend en charge la mise à niveau des clusters de gestion TKG autonomes existants et des clusters de charge de travail TKG sur AWS et Azure. La possibilité de mettre à niveau des clusters de gestion TKG autonomes et des clusters de charge de travail TKG sur AWS et Azure sera supprimée dans Tanzu Kubernetes Grid version v2.5.
À partir de maintenant, VMware vous recommande d'utiliser Tanzu Mission Control pour créer des clusters AWS EKS et Azure AKS natifs. Toutefois, la mise à niveau de clusters de gestion TKG autonomes existants et de clusters de charge de travail TKG sur AWS et Azure reste entièrement prise en charge pour toutes les versions de TKG jusqu'à, y compris TKG v2.4.x.
Pour plus d'informations, reportez-vous à la section Obsolescence des clusters de gestion et de charge de travail TKG sur AWS et Azure des Notes de mise à jour de VMware Tanzu Kubernetes Grid v2.4.
Avant d'effectuer une mise à niveau vers TKG v2.3.x, assurez-vous que votre déploiement actuel est TKG v2.2.x ou une version v2.3 antérieure. Pour effectuer une mise à niveau vers TKG v2.3.x à partir de versions antérieures à la version v2.2, vous devez d'abord effectuer une mise à niveau vers la version v2.2.x avec une version v2.2.x de la CLI Tanzu.
Cette étape est requise pour les mises à niveau majeures de la version v2.2.x vers la version v2.3.x et de correctifs de la version v2.3.x vers la version v2.3.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.2.x vers la version 2.3.x et lors de la mise à niveau de la version 2.3.x vers la version 2.3.y.
Suivez les instructions de la section Installer la CLI Tanzu et la CLI Kubernetes à 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
. Si l'un de vos clusters de gestion autonomes est configuré pour utiliser un fournisseur d'identité LDAP, effectuez les étapes décrites dans la section (LDAP uniquement) Mettre à jour les paramètres LDAP après avoir installé la CLI Tanzu et avant d'avoir mis à jour vos plug-ins de la CLI vers Tanzu Kubernetes Grid v2.3.
tanzu version
pour vérifier que la version correcte de la CLI Tanzu est correctement installée. Pour obtenir la liste des versions de CLI compatibles avec Tanzu Kubernetes Grid v2.3, reportez-vous à la Matrice d'interopérabilité des produits.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.2.x vers la version v2.3.x et de correctifs de la version v2.3.x vers la version v2.3.y.
Cette procédure part du principe que vous effectuez une mise à niveau vers Tanzu Kubernetes Grid v2.3.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.
tanzu mc permissions aws set
.
tanzu mc permissions aws set
Cette étape est requise pour les mises à niveau majeures de la version v2.2.x vers la version v2.3.x ou de correctifs de la version v2.3.x vers la version v2.3.y. Pour plus d'informations sur l'autorisation AWS que la commande définit, reportez-vous à la section Autorisations AWS requises.
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.3.1, k8s-1dot26dot8-ubuntu-2004
, exécutez :
az vm image terms accept --urn vmware-inc:tkg-capi:k8s-1dot26dot8-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.25.13 ou v1.24.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.2.x vers la version v2.3.x et de correctifs de la version v2.3.x vers la version v2.3.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.2.x vers la version v2.3.x et de correctifs de la version v2.3.x vers la version v2.3.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 v1.11.1 et que vos deux installations précédentes de Tanzu Kubernetes Grid exécutent cert-manager
v1.10.1 et v1.7.2, vous pouvez exécuter les versions v1.11.1, v1.10.1 et v1.7.2 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 au moins 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.2, 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.2, reportez-vous aux Notes de mise à jour de Tanzu Kubernetes Grid v2.3 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.
TKG v2.2 et les versions ultérieures installent automatiquement le pilote CSI pour AWS EBS sur les clusters de charge de travail récemment créés. Toutefois, pour exécuter l'interface CSI pour AWS EBS sur les clusters mis à niveau à partir de la version v2.1, vous devez installer ce pilote manuellement. Suivez cette procédure pour installer manuellement le pilote CSI pour AWS EBS sur un cluster qui a été créé dans TKG v2.1 ou version antérieure et sur lequel le pilote CSI pour AWS EBS n'a jamais été installé.
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
TKG v2.1 et les versions ultérieures installent automatiquement le pilote CSI pour Azure Disk sur les clusters de charge de travail récemment créés. Toutefois, pour exécuter l'interface CSI pour Azure Disk sur les clusters mis à niveau à partir de la version v1.6, vous devez installer ce pilote manuellement. Suivez cette procédure pour installer manuellement le pilote CSI pour Azure Disk sur un cluster qui a été créé dans TKG v1.6 ou version antérieure et sur lequel le pilote CSI pour Azure Disk n'a jamais été installé.
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.3 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/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.2.x vers la version v2.3.x et de correctifs de la version v2.3.x vers la version v2.3.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é.