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

È possibile avviare un aggiornamento in sequenza di un cluster TKG modificando il valore del parametro storageClass nella specifica del cluster utilizzando il comando kubectl edit.
Nota: Non è possibile utilizzare il comando kubectl apply per aggiornare un cluster TKG distribuito.

Prerequisiti

Questa attività richiede l'uso del comando modifica di kubectl. Questo comando 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. Per configurare un editor per kubectl, vedere #GUID-104C2238-1D65-402A-85F0-742DAB49AB1A.

Procedura

  1. Eseguire l'autenticazione con il Supervisore.
    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 del carico di lavoro 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.
    Cluster v1alpha3:
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
    Cluster v1beta1:
    kubectl edit cluster/CLUSTER-NAME
  5. Modificare il manifesto cambiando il valore di storageClass.
    Ad esempio, per un cluster v1alpaha3, 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
    Analogamente, se è stato eseguito il provisioning di un cluster v1beta1, aggiornare il valore variables.storageclass nella specifica del cluster con il nome della classe di storage.
  6. Salvare le modifiche apportate al file manifesto.
    Quando si salva il file, kubectl applica le modifiche al cluster. In background, il 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 #GUID-104C2238-1D65-402A-85F0-742DAB49AB1A.
  8. Verificare che il cluster sia aggiornato.
    Cluster v1alpha3:
    kubectl get tanzukubernetescluster
    Cluster v1beta1:
    kubectl get cluster