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 Konfigurieren eines Texteditors für Kubectl.
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
Konfigurieren eines Texteditors für Kubectl.
- Überprüfen Sie, ob der Cluster aktualisiert wurde.
v1alpha3-Cluster:
kubectl get tanzukubernetescluster
v1beta1-Cluster:
kubectl get cluster