È possibile aggiornare un cluster di Tanzu Kubernetes modificando la classe di storage utilizzata dai nodi del cluster.

Servizio Tanzu Kubernetes Grid supporta l'aggiornamento di un cluster tramite la modifica della StorageClass dei pool di nodi, ovvero la modifica della proprietà .spec.topology.controlPlane.storageClass o della proprietà .spec.topology.workers.storageClass. Vedere Informazioni sugli aggiornamenti dei cluster di Tanzu Kubernetes.

Prerequisiti

Questa attività utilizza il comando kubectl edit tanzukubernetescluster/CLUSTER-NAME per aggiornare il manifesto del cluster. Il comando kubectl edit apre il manifesto del cluster nell'editor di testo definito dalla variabile di ambiente KUBE_EDITOR o EDITOR. Quando si salva il file, il cluster viene aggiornato con le modifiche. Vedere Specificare un editor di testo predefinito per Kubectl.

Procedura

  1. Eseguire l'autenticazione con il Cluster supervisore. Vedere Connessione al Cluster supervisore come utente vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Passare al contesto dello Spazio dei nomi vSphere in cui viene eseguito il provisioning del cluster Tanzu Kubernetes di destinazione.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Per determinare le classi di storage disponibili e decidere quale utilizzare, eseguire il comando seguente.
    kubectl describe tanzukubernetescluster CLUSTER-NAME
  4. Eseguire il comando seguente per modificare il manifesto del cluster.
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  5. Modificare il manifesto cambiando il valore di storageClass.
    Ad esempio, modificare il manifesto del cluster dalla classe silver-storage-class per il piano di controllo e i nodi di lavoro:
    spec:
      topology:
        controlPlane:
          ...
          storageClass: silver-storage-class
        workers:
          ...      
          storageClass: silver-storage-class
    Nella classe gold-storage-class per il piano di controllo e i nodi di lavoro:
    spec:
      topology:
        controlPlane:
          ...
          storageClass: gold-storage-class
        workers:
          ...      
          storageClass: gold-storage-class
  6. Salvare le modifiche apportate al file manifesto.
    Quando si salva il file, kubectl applica le modifiche al cluster. In background, il Servizio Tanzu Kubernetes Grid esegue il provisioning delle nuove macchine virtuali dei nuovi nodi e disattiva quelle precedenti.
  7. Verificare che kubectl riporti che le modifiche al manifesto sono state registrate correttamente.
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    Nota: Se si riceve un errore o kubectl non riporta che il manifesto del cluster è stato modificato correttamente, assicurarsi di aver configurato correttamente l'editor di testo predefinito utilizzando la variabile di ambiente KUBE_EDITOR. Vedere Specificare un editor di testo predefinito per Kubectl.
  8. Verificare che sia in corso l'aggiornamento del cluster.
    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. Verificare che il cluster sia aggiornato.
    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