Vous pouvez mettre à jour un cluster TKG en modifiant la classe de stockage utilisée par les nœuds du cluster.

Vous pouvez initier une mise à jour continue d'un cluster TKG en modifiant la valeur du paramètre storageClass dans la spécification du cluster à l'aide de la commande kubectl edit.
Note : Vous ne pouvez pas utiliser la commande kubectl apply pour mettre à jour un cluster TKG déployé.

Conditions préalables

Cette tâche nécessite l'utilisation de la Commande d'édition de kubectl. Cette commande ouvre le manifeste du cluster dans l'éditeur de texte défini par votre variable d'environnement KUBE_EDITOR ou EDITOR. Lorsque vous enregistrez le fichier, le cluster est mis à jour avec les modifications. Pour configurer un éditeur pour kubectl, reportez-vous à la section Configurer un éditeur de texte pour Kubectl.

Procédure

  1. Authentifiez-vous avec le Superviseur.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Changez de contexte pour utiliser l'Espace de noms vSphere dans lequel le cluster de charge de travail cible est provisionné.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Pour identifier les classes de stockage disponibles et décider laquelle utiliser, exécutez la commande suivante.
    kubectl describe tanzukubernetescluster CLUSTER-NAME
  4. Exécutez la commande suivante pour modifier le manifeste du cluster.
    Cluster v1alpha3 :
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
    Cluster v1beta1 :
    kubectl edit cluster/CLUSTER-NAME
  5. Modifiez le manifeste en changeant la valeur storageClass.
    Par exemple, pour un cluster v1alpha3, remplacez le manifeste du cluster de la classe silver-storage-class pour le plan de contrôle et les nœuds worker :
    spec:
      topology:
        controlPlane:
          ...
          storageClass: silver-storage-class
        workers:
          ...      
          storageClass: silver-storage-class
    Par la classe gold-storage-class pour le plan de contrôle et les nœuds worker :
    spec:
      topology:
        controlPlane:
          ...
          storageClass: gold-storage-class
        workers:
          ...      
          storageClass: gold-storage-class
    De même, si vous avez provisionné un cluster v1beta1, mettez à jour la valeur variables.storageclass dans la spécification du cluster avec le nom de la classe de stockage.
  6. Enregistrez les modifications que vous avez apportées au fichier de manifeste.
    Lorsque vous enregistrez le fichier, kubectl applique les modifications au cluster. En arrière-plan, le service Tanzu Kubernetes Grid provisionne les nouvelles machines virtuelles du nœud et met hors service les anciennes.
  7. Vérifiez que kubectl confirme que les modifications apportées au manifeste ont été enregistrées.
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    Note : Si vous recevez une erreur ou si kubectl ne confirme pas la modification du manifeste du cluster, assurez-vous d'avoir configuré votre éditeur de texte par défaut à l'aide de la variable d'environnement KUBE_EDITOR. Reportez-vous à la section Configurer un éditeur de texte pour Kubectl.
  8. Vérifiez que le cluster est mis à jour.
    Cluster v1alpha3 :
    kubectl get tanzukubernetescluster
    Cluster v1beta1 :
    kubectl get cluster