Sie können einen TKG-Dienstcluster aktualisieren, indem Sie die Klasse der virtuellen Maschine ändern, die zum Hosten der Clusterknoten verwendet wird.

Sie können ein paralleles Update eines TKG-Clusters initiieren. Bearbeiten Sie dazu mithilfe des Befehls kubectl edit die Definition vmClass. Neue Knoten basierend auf der geänderten Klasse werden bereitgestellt, und die alten Knoten werden heruntergefahren.
Hinweis: Sie können den Befehl kubectl apply nicht verwenden, um einen bereitgestellten TKG-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 finden Sie unter #GUID-104C2238-1D65-402A-85F0-742DAB49AB1A.

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 TKG-Zielcluster bereitgestellt wird.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. Beschreiben Sie den TKG-Zielcluster und überprüfen Sie die VM-Klasse.
    v1alpha3-Cluster:
    kubectl describe tanzukubernetescluster CLUSTER-NAME
    v1beta1-Cluster:
    kubectl describe cluster CLUSTER-NAME
  4. Listen Sie die verfügbaren VM-Klassen im vSphere-Namespace auf, in dem der Cluster bereitgestellt wird, und beschreiben Sie sie.
    kubectl get virtualmachineclass
    Hinweis: Die VM-Zielklasse muss dem vSphere-Namespace zugeordnet werden, in dem der TKG-Cluster bereitgestellt ist. Weitere Informationen zum Binden von VM-Klassen an vSphere-Namespaces finden Sie in der Dokumentation zum TKG- oder VM-Dienst.
  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 Zeichenfolge der VM-Klasse ändern.
    Wenn Sie beispielsweise einen v1alpah3-Cluster verwenden, ändern Sie das Cluster-Manifest von der Verwendung der VM-Klasse guaranteed-medium für Worker-Knoten:
     topology:
        controlPlane:
          replicas: 3
          storageClass: vwk-storage-policy
          tkr:
            reference:
              name: v1.27.11---vmware.1-fips.1-tkg.2
          vmClass: guaranteed-medium
        nodePools:
        - name: worker-nodepool-a1
          replicas: 3
          storageClass: vwk-storage-policy
          tkr:
            reference:
              name: v1.27.11---vmware.1-fips.1-tkg.2
          vmClass: guaranteed-medium
    So verwenden Sie die VM-Klasse guaranteed-large für Worker-Knoten:
     topology:
        controlPlane:
          replicas: 3
          storageClass: vwk-storage-policy
          tkr:
            reference:
              name: v1.27.11---vmware.1-fips.1-tkg.2
          vmClass: guaranteed-medium
        nodePools:
        - name: worker-nodepool-a1
          replicas: 3
          storageClass: vwk-storage-policy
          tkr:
            reference:
              name: v1.27.11---vmware.1-fips.1-tkg.2
          vmClass: guaranteed-large
    Wenn Sie einen v1beta1-Cluster bereitgestellt haben, aktualisieren Sie entsprechend den Wert von variables.vmclass auf die Ziel-VM-Klasse.
  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 TKG-Controller die neuen Knoten-VMs bereit und fährt die alten herunter.
  8. Vergewissern Sie sich, dass kubectl berichtet, dass die Manifest-Bearbeitungen erfolgreich aufgezeichnet wurden.
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-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 #GUID-104C2238-1D65-402A-85F0-742DAB49AB1A.
  9. Überprüfen Sie, ob der Cluster aktualisiert wurde.
    v1alpha3-Cluster:
    kubectl get tanzukubernetescluster
    v1beta1-Cluster:
    kubectl get cluster