Pour mettre à niveau Tanzu Kubernetes Grid avec un cluster de gestion autonome, vous devez d'abord mettre à niveau le cluster de gestion autonome. Vous ne pouvez pas mettre à niveau les clusters de charge de travail tant que vous n'avez pas mis à niveau le cluster de gestion qui les gère.
Si vous exécutez TKG avec vSphere with Tanzu Supervisor, ne suivez pas cette procédure. Au lieu de cela, mettez à niveau le superviseur dans le cadre de vSphere et mettez à jour la version de Kubernetes du superviseur en mettant à niveau ses TKR.
La mise à niveau du cluster de gestion met automatiquement à niveau les modules gérés automatiquement qu'il exécute.
RemarqueAprès avoir installé la version v2.1 de la CLI, mais avant la mise à niveau d'un cluster de gestion autonome, tous les groupes de commandes CLI spécifiques au contexte (
tanzu cluster
,tanzu kubernetes-release
), ainsi que toutes les commandes de plug-inmanagement-cluster
, à l'exception detanzu mc upgrade
ettanzu mc create
ne sont pas disponibles et ne sont pas inclus dans la sortie de CLI Tanzu--help
.
Les clusters de gestion et les clusters de charge de travail utilisent des certificats clients pour authentifier les clients. Ces certificats sont valides pendant un an. Pour les renouveler, mettez à niveau vos clusters au moins une fois par an ou effectuez une rotation manuelle de ceux-ci, comme décrit dans la section Renouveler les certificats de cluster (MC autonome) ou dans l'article de la base de connaissances VMware Comment effectuer une rotation des certificats dans un cluster Tanzu Kubernetes Grid.
Exécutez la commande tanzu login
pour afficher une liste interactive des clusters de gestion disponibles pour la mise à niveau.
tanzu login
Sélectionnez le cluster de gestion que vous souhaitez mettre à niveau. Pour plus d'informations, reportez-vous à la section Répertorier les clusters de gestion et modifier le contexte.
Obtenez les informations d’identification de l’administrateur du cluster. L'alias de la CLI Tanzu mc
est court pour management-cluster
.
tanzu mc kubeconfig get --admin
Connectez kubectl
au cluster de gestion.
kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
Si le cluster de gestion est en cours d'exécution sur Azure, définissez la variable d'environnement AZURE_CLIENT_SECRET
avant de mettre à niveau le cluster :
export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
Si le cluster de gestion a été créé à l'origine dans TKG v1.3 ou une version antérieure, ou si vous n'en êtes pas sûr, procédez comme suit. Ces étapes ajoutent un secret nécessaire à la mise à niveau des clusters de gestion vers leur configuration basée sur un module dans TKG v2.1, mais qui n'était pas inclus dans les clusters de gestion créés avant TKG v1.4 :
Désactivez l'indicateur de fonctionnalité package-based-cc
pour activer l'exécution de test de création de clusters de gestion hérités :
tanzu config set features.management-cluster.package-based-cc false
Obtenez un manifeste de style hérité plus à jour pour le cluster de gestion en procédant à une exécution de test de création d'un cluster de gestion avec son fichier de configuration d'origine. Par exemple, sur vSphere :
tanzu mc create -f mgmt-config.yaml --dry-run > legacy-mgmt.yaml
Do you want to configure vSphere with Tanzu? [y/N]: N
Would you like to deploy a non-integrated Tanzu Kubernetes Grid management cluster on vSphere 7.0? [y/N]: y
Extrayez le secret -config-values
nécessaire :
cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
Dans le contexte du cluster de gestion, appliquez le secret au cluster de gestion :
kubectl apply -f mgmt-config-secret.yaml
Réactivez l'indicateur de fonctionnalité package-based-cc
pour interdire la création d'un cluster de gestion hérité.
tanzu config set features.management-cluster.package-based-cc true
Exécutez la commande tanzu mc upgrade
et entrez y
pour confirmer.
RemarqueAprès l'exécution de cette commande, les utilisateurs non-administrateurs ne peuvent pas se connecter aux clusters de charge de travail associés tant que les espaces Pinniped n'ont pas terminé le redémarrage.
tanzu mc upgrade
Si plusieurs images de machine virtuelle de base dans votre compte IaaS ont la même version de Kubernetes que celle vers laquelle vous effectuez la mise à niveau, utilisez l'option --os-name
pour spécifier le système d'exploitation souhaité. Pour plus d'informations, reportez-vous à la section Sélection d'un système d'exploitation lors de la mise à niveau du cluster.
Par exemple, sur vSphere, si vous avez téléchargé des modèles OVA Photon et Ubuntu avec Kubernetes 1.24.10, spécifiez --os-name ubuntu
pour mettre à niveau votre cluster de gestion afin qu'il s'exécute sur une machine virtuelle Ubuntu.
tanzu mc upgrade --os-name ubuntu
Pour ignorer l'étape de confirmation lorsque vous mettez à niveau un cluster, spécifiez l'option --yes
.
tanzu mc upgrade --yes
Le processus de mise à niveau met d'abord à niveau les fournisseurs d'API de cluster pour vSphere, Amazon Web Services (AWS) ou Azure qui s'exécutent dans le cluster de gestion. Ensuite, il met à niveau la version de Kubernetes dans tous les nœuds de plan de contrôle et worker du cluster de gestion.
ImportantPendant la mise à niveau d'un cluster de gestion, n'exécutez pas les commandes
tanzu cluster
outanzu mc
sur celui-ci ou sur les clusters de charge de travail qu'il gère, par exemple à partir d'une autre machine de démarrage ou d'une autre fenêtre de shell.
Si la mise à niveau expire avant sa fin, exécutez tanzu mc upgrade
de nouveau et spécifiez l'option --timeout
avec une valeur supérieure à la valeur par défaut de 30 minutes.
tanzu mc upgrade --timeout 45m0s
RemarqueAprès avoir installé l'interface de ligne de commande v2.1, mais avant la mise à niveau d'un cluster de gestion, tous les groupes de commandes de CLI spécifiques au contexte (
tanzu cluster
,tanzu kubernetes-release
) ainsi que toutes les commandes de plug-inmanagement-cluster
, à l'exception detanzu mc upgrade
ettanzu mc create
, ne sont pas disponibles et ne sont pas inclus dans la sortie--help
de la CLI Tanzu.
Une fois la mise à niveau terminée, exécutez de nouveau la commande tanzu cluster list
avec les options --include-management-cluster -A
pour vérifier que le cluster de gestion a été mis à niveau.
tanzu cluster list --include-management-cluster -A
Vous voyez que le cluster de gestion exécute désormais la nouvelle version de Kubernetes, mais que les clusters de charge de travail exécutent toujours les versions précédentes de Kubernetes.
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES PLA TKR
k8s-1-22-13-cluster default running 1/1 1/1 v1.22.13+vmware.1 <none> dev v1.22.13---vmware.1-tkg.1
k8s-1-23-10-cluster default running 1/1 1/1 v1.23.10+vmware.1 <none> dev v1.23.10---vmware.1-tkg.1
mgmt-cluster tkg-system running 1/1 1/1 v1.24.10+vmware.1 management dev v1.24.10---vmware.1-tkg.1
Régénérez le fichier admin kubeconfig
:
tanzu management-cluster kubeconfig get --admin
Voici un exemple de sortie de cette commande :
Credentials of cluster 'mgmt' have been saved
You can now access the cluster by running 'kubectl config use-context mgmt-admin@mgmt'
ImportantSi vous ne renouvelez pas
kubeconfig
après la mise à niveau, vous ne pourrez pas accéder au cluster après son expiration.
Vous pouvez désormais :
Mettez à niveau les clusters de charge de travail que ce cluster de gestion gère.
Créer des clusters de charge de travail. Par défaut, tous les nouveaux clusters que vous déployez avec ce cluster de gestion exécuteront la nouvelle version par défaut de Kubernetes. Cependant, si nécessaire, vous pouvez utiliser la commande tanzu cluster create
avec l'option --tkr
pour déployer de nouveaux clusters qui exécutent différentes versions de Kubernetes. Pour plus d'informations, reportez-vous à la section Plusieurs versions de Kubernetes.