Mettre à niveau des clusters de gestion autonomes

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.

Remarque

Aprè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-in management-cluster, à l'exception de tanzu mc upgrade et tanzu 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.

Conditions requises

  • Vous avez examiné les problèmes connus liés à la mise à niveau. Consultez la rubrique Problèmes connus.
  • Vous avez effectué les étapes de la section Mise à niveau de Tanzu Kubernetes Grid qui se produisent avant l'étape de mise à niveau des clusters de gestion.
  • Si vous avez déployé la version précédente de Tanzu Kubernetes Grid dans un environnement à accès restreint à Internet, vous avez suivi les étapes de la section Préparer un environnement à accès restreint à Internet pour recréer et exécuter les scripts requis avec les nouvelles versions de l'image de composant.
  • Si vous disposez d'un cluster de gestion existant d'une version allant jusqu'à la version 1.6.0 incluse, qui s'exécute déjà sur vSphere 7 sans cluster superviseur et que vous souhaitez mettre à niveau vSphere vers vSphere 8, mettez à niveau le cluster de gestion et ses clusters de charge de travail vers Tanzu Kubernetes Grid 2.1.x ou 1.6.1, idéalement avant d'effectuer la mise à niveau de vSphere 7 vers vSphere 8. Si vous exécutez un cluster de gestion autonome sur vSphere 7 et que votre instance de vSphere est mise à niveau vers vSphere 8 avant d'effectuer la mise à niveau vers Tanzu Kubernetes Grid 2.1.x ou 1.6.1, vous devez mettre à niveau le cluster de gestion et les clusters de charge de travail dès que possible. Les versions de Tanzu Kubernetes Grid jusqu'à la version v1.6.0 incluse ne sont pas prises en charge sur vSphere 8.

Procédure

  1. Exécutez la commande tanzu login pour afficher une liste interactive des clusters de gestion disponibles pour la mise à niveau.

    tanzu login
    
  2. 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.

  3. 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
    
  4. Connectez kubectl au cluster de gestion.


    kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
    
  5. 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
    
  6. 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 :

    1. 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
      
    2. 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
      
      
    3. Extrayez le secret -config-values nécessaire :

      cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
      
    4. Dans le contexte du cluster de gestion, appliquez le secret au cluster de gestion :

      kubectl apply -f mgmt-config-secret.yaml
      
    5. 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
      
  7. Exécutez la commande tanzu mc upgrade et entrez y pour confirmer.

    Remarque

    Aprè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.

    Important

    Pendant la mise à niveau d'un cluster de gestion, n'exécutez pas les commandes tanzu cluster ou tanzu 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
    
    Remarque

    Aprè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-in management-cluster, à l'exception de tanzu mc upgrade et tanzu mc create, ne sont pas disponibles et ne sont pas inclus dans la sortie --help de la CLI Tanzu.

  8. 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
    
  9. 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'
    
    Important

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

Tâches suivantes

Vous pouvez désormais :

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