In dieser Aufgabe wird beschrieben, wie Sie die Tanzu Kubernetes-Version-Version für einen TKG-Cluster aktualisieren, indem Sie das TKG-Clustermanifest bearbeiten.

Sie können ein paralleles Update eines TKGS-Clusters initiieren, indem Sie mithilfe des Befehls kubectl edit ein Upgrade der Tanzu Kubernetes-Version-Version durchführen.
Hinweis: Sie können den Befehl kubectl apply nicht verwenden, um die TKR-Version für einen bereitgestellten Cluster zu aktualisieren.

Voraussetzungen

Für diese Aufgabe muss der kubectl-Befehl edit verwendet werden. Mit diesem Befehl wird das Cluster-Manifest in dem durch Ihre KUBE_EDITOR- oder EDITOR-Umgebungsvariable definierten Texteditor geöffnet. Wenn Sie die Datei speichern, wird der Cluster mit den Änderungen aktualisiert. Informationen zum Konfigurieren eines Editors für kubectl zum Ausführen des Befehls kubectl edit finden Sie unter Konfigurieren eines Texteditors für Kubectl.

Prozedur

  1. Authentifizieren Sie sich beim Supervisor.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Ändern Sie den Kontext in den vSphere-Namespace, in dem der Arbeitslast-Zielcluster bereitgestellt wird.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Rufen Sie den TKG-Cluster und die Version ab.
    v1alpha3-Cluster:
    kubectl get tanzukubernetescluster
    v1beta1-Cluster:
    kubectl get cluster
  4. Listen Sie die verfügbaren Tanzu Kubernetes-Versionen auf.
    kubectl get tanzukubernetesreleases
  5. Führen Sie den folgenden Befehl aus, um das Cluster-Manifest zu bearbeiten.
    v1alpha3-Cluster:
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
    v1beta1-Cluster:
    kubectl edit cluster/CLUSTER-NAME
  6. Bearbeiten Sie das Manifest, indem Sie die Tanzu Kubernetes-Version-Zeichenfolge aktualisieren.
    Führen Sie beispielsweise für einen v1alpha3-Cluster eine Änderung von 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
    Auf 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
    Hinweis: Die Steuerungsebenen- und Worker-Knoten müssen dieselbe TKR-Version aufweisen. Sie können alle TKr-Instanzen aktualisieren oder die Version der Steuerungsebene aktualisieren und den TKR-Namen aus den Worker-Knoten entfernen.
    Führen Sie beispielsweise für einen v1beta1-Cluster eine Änderung von 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:
          ...
     
    Auf 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. Speichern Sie die Änderungen an der Manifestdatei.
    Wenn Sie die Datei speichern, wendet kubectl die Änderungen auf den Cluster an. Im Hintergrund stellt der VM-Dienst auf dem Supervisor den neuen Worker-Knoten bereit.
  8. Vergewissern Sie sich, dass kubectl berichtet, dass die Manifest-Bearbeitungen erfolgreich aufgezeichnet wurden.
    kubectl edit tanzukubernetescluster/tkg-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkg-cluster-1 edited
    Hinweis: Wenn Sie einen Fehler erhalten oder kubectl nicht meldet, dass das Cluster-Manifest erfolgreich bearbeitet wurde, sollten Sie überprüfen, ob Sie Ihren Standardtexteditor mithilfe der Umgebungsvariable KUBE_EDITOR richtig konfiguriert haben. Weitere Informationen hierzu finden Sie unter Konfigurieren eines Texteditors für Kubectl.
  9. Überprüfen Sie, ob der Cluster aktualisiert wird.
    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. Überprüfen Sie, ob der Cluster aktualisiert wurde.
    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