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

Le service Service Tanzu Kubernetes Grid prend en charge la mise à jour d'un cluster en modifiant la classe StorageClass des pools de nœuds, c'est-à-dire en modifiant la propriété .spec.topology.controlPlane.storageClass ou la propriété .spec.topology.workers.storageClass. Reportez-vous à la section À propos des mises à jour du cluster Service Tanzu Kubernetes Grid.

Conditions préalables

Cette tâche utilise la commande kubectl edit tanzukubernetescluster/CLUSTER-NAME pour mettre à jour le manifeste du cluster. La commande kubectl edit 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. Reportez-vous à la section Spécifier un éditeur de texte par défaut pour Kubectl.

Procédure

  1. Authentifiez-vous avec le Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Changez de contexte pour utiliser l'Espace de noms vSphere dans lequel le cluster Tanzu Kubernetes 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.
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  5. Modifiez le manifeste en changeant la valeur storageClass.
    Par exemple, 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
  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 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 Spécifier un éditeur de texte par défaut pour Kubectl.
  8. Vérifiez que le cluster est en mise à jour.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   21h   updating
  9. Vérifiez que le cluster est mis à jour.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   22h   running