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
- Authentifizieren Sie sich beim Supervisor.
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- Ändern Sie den Kontext in den vSphere-Namespace, in dem der TKG-Zielcluster bereitgestellt wird.
kubectl config use-context SUPERVISOR-NAMESPACE
- 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
- 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.
- 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
- 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.
- 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.
- 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.
- Überprüfen Sie, ob der Cluster aktualisiert wurde.
v1alpha3-Cluster:
kubectl get tanzukubernetescluster
v1beta1-Cluster:
kubectl get cluster