Mettre à niveau les clusters de charge de travail

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.

Important

Les 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.

Conditions requises

Conditions préalables à l'infrastructure

vSphere
Si vous mettez à niveau des clusters qui s'exécutent sur vSphere, avant de pouvoir mettre à niveau des clusters vers une version autre que celle par défaut de Kubernetes pour votre version de Tanzu Kubernetes Grid, les fichiers OVA de modèle d'image de base appropriés doivent être disponibles dans vSphere en tant que modèles de machine virtuelle. Pour plus d'informations sur l'importation de fichiers OVA dans vSphere, reportez-vous à la section Préparer la mise à niveau des clusters sur vSphere.
AWS
Si vous mettez à niveau des clusters qui s'exécutent sur Amazon Web Services (AWS), 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.
Azure
Si vous mettez à niveau des clusters qui s'exécutent sur Azure, assurez-vous d'avoir effectué les étapes décrites dans Préparer la mise à niveau des clusters sur Azure.


Procédure

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.

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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.

  5. 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
    
  6. 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
    
    Important

    Les 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
    
  7. 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
    
  8. Régénérez le fichier admin kubeconfig :

    tanzu cluster kubeconfig get CLUSTER-NAME --admin
    

    CLUSTER-NAME est le nom du cluster de charge de travail.

    Important

    Si vous ne renouvelez pas kubeconfig après la mise à niveau, vous ne pourrez pas accéder au cluster après son expiration.

  9. 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
    
  10. 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.

Tâches suivantes

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.

check-circle-line exclamation-circle-line close-line
Scroll to top icon