Questa attività descrive come aggiornare la versione di Release di Tanzu Kubernetes per un cluster TKG modificando il manifesto del cluster TKG.

È possibile avviare un aggiornamento in sequenza di un cluster TKGS aggiornando la versione Release di Tanzu Kubernetes utilizzando il comando kubectl edit.
Nota: Non è possibile utilizzare il comando kubectl apply per aggiornare la versione di TKR per un cluster 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 in modo da poter eseguire il comando kubectl edit, vedere Configurazione di un editor di testo per Kubectl.

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. Recuperare la versione e il cluster TKG di destinazione.
    Cluster v1alpha3:
    kubectl get tanzukubernetescluster
    Cluster v1beta1:
    kubectl get cluster
  4. Elencare le versioni di Tanzu Kubernetes disponibili.
    kubectl get tanzukubernetesreleases
  5. Eseguire il comando seguente per modificare il manifesto del cluster.
    Cluster v1alpha3:
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
    Cluster v1beta1:
    kubectl edit cluster/CLUSTER-NAME
  6. Modificare il manifesto aggiornando la stringa Release di Tanzu Kubernetes.
    Ad esempio, per un cluster v1alpha3, modificare da TKR v1.25.7:
    topology:
      controlPlane:
       replicas: 1
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.25.7---vmware.3-fips.1-tkg.1
       vmClass: guaranteed-large
      nodePools:
      - name: worker-tkg-pool01
       replicas: 3
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.25.7---vmware.3-fips.1-tkg.1
       vmClass: guaranteed-large
       volumes:
       - capacity:
         storage: 128Gi
        mountPath: /var/lib/containerd
        name: containerd
    A TKR v1.26.5:
    topology:
      controlPlane:
       replicas: 1
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.26.5---vmware.2-fips.1-tkg.1
       vmClass: guaranteed-large
      nodePools:
      - name: worker-tkg-pool01
       replicas: 3
       storageClass: vsan-default-storage-policy
       tkr:
        reference:
         name: v1.26.5---vmware.2-fips.1-tkg.1
       vmClass: guaranteed-large
       volumes:
       - capacity:
         storage: 128Gi
        mountPath: /var/lib/containerd
        name: containerd
    Nota: Il piano di controllo e i nodi di lavoro devono avere la stessa versione di TKR. È possibile aggiornare tutte le istanze di TKR o aggiornare la versione del piano di controllo e rimuovere il nome di TKR dai nodi di lavoro.
    Ad esempio, per un cluster v1beta1, modificare da TKR v1.25.7:
    apiVersion: cluster.x-k8s.io/v1beta1
      ...
      topology:
        class: tanzukubernetescluster
        version: v1.25.7---vmware.3-fips.1-tkg.1
        controlPlane:
          replicas: 3
        workers:
          ...
        variables:
          ...
     
    A TKR v1.26.5:
    apiVersion: cluster.x-k8s.io/v1beta1
      ...
      topology:
        class: tanzukubernetescluster
        version: v1.26.5---vmware.2-fips.1-tkg.1
        controlPlane:
          replicas: 3
        workers:
          ...
        variables:
          ...
  7. Salvare le modifiche apportate al file manifesto.
    Quando si salva il file, kubectl applica le modifiche al cluster. In background, il servizio della macchina virtuale nel supervisore esegue il provisioning del nuovo nodo di lavoro.
  8. Verificare che kubectl riporti che le modifiche al manifesto sono state registrate correttamente.
    kubectl edit tanzukubernetescluster/tkg-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkg-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 Configurazione di un editor di testo per Kubectl.
  9. 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.26.5---vmware.2-fips.1-tkg.1  21h   updating
  10. Verificare che il cluster sia aggiornato.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.26.5---vmware.2-fips.1-tkg.1   22h   running