Sie können einen Tanzu Kubernetes-Cluster aktualisieren, indem Sie die Klasse der virtuellen Maschine ändern, die zum Hosten der Clusterknoten verwendet wird.
Der
Tanzu Kubernetes Grid-Dienst unterstützt das Aktualisieren eines Clusters durch Ändern der
VirtualMachineClass
-Definition. In diesem Fall rollt der Dienst neue Knoten mit dieser neuen Klasse aus und fährt die alten Knoten herunter. Weitere Informationen hierzu finden Sie unter
Informationen zu Tanzu Kubernetes Grid-Dienst-Cluster-Updates.
Hinweis: Die
VirtualMachineClass
muss an den
vSphere-Namespace gebunden werden, in dem der
Tanzu Kubernetes-Cluster bereitgestellt wird. Weitere Informationen hierzu finden Sie unter
VM-Klassen für Tanzu Kubernetes-Cluster.
Voraussetzungen
Diese Aufgabe verwendet den Befehl kubectl edit tanzukubernetescluster/CLUSTER-NAME
, um das Cluster-Manifest zu aktualisieren. Mit dem Befehl kubectl edit wird das Cluster-Manifest in dem durch die KUBE_EDITOR- oder EDITOR-Umgebungsvariablen definierten Texteditor geöffnet. Wenn Sie die Datei speichern, wird der Cluster mit den Änderungen aktualisiert. Weitere Informationen hierzu finden Sie unter Angeben eines Standardtexteditors für Kubectl.
Prozedur
- Authentifizieren Sie sich beim Supervisor-Cluster. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- Ändern Sie den Kontext in den vSphere-Namespace, in dem der Tanzu Kubernetes-Zielcluster bereitgestellt wird.
kubectl config use-context SUPERVISOR-NAMESPACE
- Beschreiben Sie den Tanzu Kubernetes-Zielcluster und überprüfen Sie die VM-Klasse.
kubectl describe tanzukubernetescluster CLUSTER-NAME
Beispielsweise verwendet dieser Cluster die VM-Klasse „best-effort-medium“:
Spec:
...
Topology:
Control Plane:
Class: best-effort-medium
...
Workers:
Class: best-effort-medium
...
- Erstellen Sie eine Liste und eine Beschreibung der verfügbaren VM-Klassen im Namespace.
kubectl get virtualmachineclassbindings
Hinweis: Der Befehl
kubectl get virtualmachineclasses
listet alle VM-Klassen auf, die sich auf dem virtuellen
Supervisor-Cluster befinden. Da Sie VM-Klassen mit dem
vSphere-Namespace verknüpfen müssen, können Sie nur die VM-Klassen verwenden, die an den Ziel-Namespace gebunden sind.
- Führen Sie den folgenden Befehl aus, um das Cluster-Manifest zu bearbeiten.
kubectl edit tanzukubernetescluster/CLUSTER-NAME
- Bearbeiten Sie das Manifest, indem Sie die
version
-Zeichenfolge ändern und die fullVersion
deaktivieren oder auf null setzen, um eine potenzielle Versionsabweichung während der Ermittlung zu verhindern.
Ändern Sie beispielsweise das Cluster-Manifest von der Verwendung der VM-Klasse
best-effort-medium
für Steuerungsebenen- und Worker-Knoten:
spec:
topology:
controlPlane:
class: best-effort-medium
...
workers:
class: best-effort-medium
...
So verwenden Sie die VM-Klasse
guaranteed-large
für Steuerebenen- und Worker-Knoten:
spec:
topology:
controlPlane:
class: guaranteed-large
...
workers:
class: guaranteed-large
...
- Speichern Sie die Änderungen an der Manifestdatei.
Wenn Sie die Datei speichern, wendet kubectl die Änderungen auf den Cluster an. Im Hintergrund stellt der
Tanzu Kubernetes Grid-Dienst 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
Angeben eines Standardtexteditors für Kubectl.
- Überprüfen Sie, ob der Cluster aktualisiert wird.
kubectl get tanzukubernetescluster
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkgs-cluster-1 3 3 v1.18.5+vmware.1-tkg.1.c40d30d 21h updating
- Überprüfen Sie, ob der Cluster aktualisiert wurde.
kubectl get tanzukubernetescluster
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkgs-cluster-1 3 3 v1.18.5+vmware.1-tkg.1.c40d30d 22h running