Cette rubrique explique comment mettre à niveau des clusters de charge de travail Tanzu Kubernetes Grid (TKG). Pour TKG avec un cluster de gestion autonome, vous devez d'abord mettre à niveau le cluster de gestion qui gère les clusters de charge de travail.
ImportantLes clusters de gestion autonomes 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.
Le processus de mise à niveau met à niveau la version de Kubernetes dans tous les nœuds de plan de contrôle et worker de vos clusters de charge de travail.
Pour afficher une liste interactive des clusters de gestion disponibles et sélectionner le cluster de gestion qui gère les clusters à mettre à niveau, exécutez la commande tanzu login
:
tanzu login
Pour répertorier vos clusters de charge de travail, exécutez :
tanzu cluster list --include-management-cluster -A
La commande tanzu cluster list
avec les options --include-management-cluster -A
affiche la version de Kubernetes qui s'exécute dans le cluster de gestion et tous les clusters qu'il gère. Dans cet exemple, vous pouvez voir que le cluster de gestion a déjà été mis à niveau vers la version 1.24.10, mais que les clusters de charge de travail exécutent d'anciennes versions de Kubernetes.
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES PLAN 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
Pour découvrir les versions de Kubernetes mises à disposition par un cluster de gestion, exécutez la commande tanzu kubernetes-release get
:
tanzu kubernetes-release get
La sortie répertorie toutes les versions de Kubernetes que vous pouvez utiliser pour déployer des clusters, avec les remarques suivantes :
COMPATIBLE
: Le cluster de gestion actuel peut déployer des clusters de charge de travail avec cette version de Tanzu Kubernetes (tkr
).UPDATES AVAILABLE
: Cette tkr
n'est pas la plus récente de sa ligne de version de Kubernetes. Tous les clusters de charge de travail exécutant cette version tkr
peuvent être mis à niveau vers des versions plus récentes.Par exemple :
NAME VERSION COMPATIBLE ACTIVE UPDATES AVAILABLE
v1.22.17---vmware.1-tkg.1 v1.22.17+vmware.1-tkg.1 True True
v1.23.16---vmware.1-tkg.1 v1.23.16+vmware.1-tkg.1 True True
v1.24.10---vmware.1-tkg.1 v1.24.10+vmware.1-tkg.1 True True
Pour découvrir les versions tkr
plus récentes vers lesquelles vous pouvez mettre à niveau un cluster de charge de travail exécutant une ancienne version tkr
, exécutez la commande tanzu kubernetes-release available-upgrades get
, en spécifiant la version tkr
actuelle :
tanzu kubernetes-release available-upgrades get v1.23.10---vmware.1-tkg.1
Cette commande répertorie toutes les versions de Kubernetes disponibles vers lesquelles vous pouvez mettre à niveau les clusters qui exécutent la version spécifiée.
Vous pouvez également découvrir les versions tkr
disponibles pour un cluster de charge de travail spécifique en spécifiant le nom du cluster dans la commande tanzu cluster available-upgrades get
:
tanzu cluster available-upgrades get k8s-1-23-10-cluster
Cette commande répertorie toutes les versions de Kubernetes compatibles avec le cluster spécifié.
Vous ne pouvez pas ignorer les versions mineures lors de la mise à niveau de votre version tkr
. Par exemple, vous ne pouvez pas mettre à niveau un cluster directement de v1.22.x vers v1.24.x. Vous devez mettre à niveau un cluster v1.22.x vers la version v1.23.x avant de mettre à niveau le cluster vers la version v1.24.x.
Si le cluster 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
Exécutez la commande tanzu cluster upgrade CLUSTER-NAME
et entrez y
pour confirmer. Pour ignorer l'étape de confirmation, spécifiez l'option --yes
.
Pour mettre à niveau le cluster vers la version par défaut de Kubernetes pour cette version de Tanzu Kubernetes Grid, exécutez la commande tanzu cluster upgrade
sans option. Dans cette version, la version par défaut est v1.24.10
. Par exemple :
tanzu cluster upgrade k8s-1-23-10-cluster
Si le cluster n'est pas en cours d'exécution dans l'espace de noms default
, spécifiez l'option --namespace
:
tanzu cluster upgrade CLUSTER-NAME --namespace NAMESPACE-NAME
Si une mise à niveau expire avant qu'elle ne se termine, exécutez de nouveau tanzu cluster upgrade
et spécifiez l'option --timeout
avec une valeur supérieure à la valeur par défaut de 30 minutes :
tanzu cluster upgrade CLUSTER-NAME --timeout 45m0s
ImportantLes opérations sur Azure prennent parfois plus de temps que sur d'autres plates-formes. Si vous mettez à niveau des clusters sur Azure, définissez systématiquement l'option
--timeout
afin d'éviter les échecs.
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.23.16, spécifiez --os-name ubuntu
pour mettre à niveau votre cluster de charge de travail afin qu'il s'exécute sur Ubuntu.
tanzu cluster upgrade CLUSTER-NAME --os-name ubuntu
Comme vous ne pouvez pas ignorer les versions mineures de tkr
, la commande de mise à niveau échoue si vous tentez de mettre à niveau un cluster qui se trouve plus d'une version mineure avant la version par défaut. Par exemple, vous ne pouvez pas effectuer une mise à niveau directement de la version v1.22.x vers la version v1.24.x. Pour mettre à niveau un cluster vers une version de Kubernetes qui n'est pas la version par défaut de cette version de Tanzu Kubernetes Grid, spécifiez l'option --tkr
avec le NAME
de la version choisie, comme indiqué par tanzu kubernetes-release get
ci-dessus. Par exemple, pour mettre à niveau le cluster k8s-1-22-13-cluster
à partir des versions 1.22.13 à 1.23.16.
tanzu cluster upgrade k8s-1-22-13-cluster --tkr v1.23.16---vmware.1-tkg.1
Une fois la mise à niveau terminée, exécutez la commande tanzu cluster list
pour vérifier que le cluster de charge de travail a été mis à niveau :
tanzu cluster list --include-management-cluster -A
Régénérez le fichier admin kubeconfig
:
tanzu cluster kubeconfig get CLUSTER-NAME --admin
Où CLUSTER-NAME
est le nom du cluster de charge de travail.
ImportantSi vous ne renouvelez pas
kubeconfig
après la mise à niveau, vous ne pourrez pas accéder au cluster après son expiration.
Si vous utilisez un fournisseur d'identité LDAP ou OIDC, confirmez que vous pouvez vous authentifier sur le cluster avec kubectl
. Par exemple :
kubectl get pods -A --kubeconfig my-cluster-credentials
Mettez à niveau tous les modules gérés par la CLI tels que Contour, Fluent Bit ou Prometheus qui s'exécutent sur vos clusters de charge de travail. Pour plus d'informations sur la mise à niveau des modules gérés par la CLI, reportez-vous à la section Mettre à jour un module.
Vous pouvez maintenant continuer à utiliser la CLI Tanzu pour gérer vos clusters. Pour plus d'informations, reportez-vous à la section Création et gestion de clusters de charge de travail TKG 2.1 avec la CLI Tanzu.