Sie können einen virtuellen Tanzu Kubernetes-Cluster horizontal skalieren, indem Sie die Anzahl der Knoten ändern oder die Klasse der virtuellen Maschine, die die Knoten hosten, vertikal ändern.
Unterstützte Skalierungsvorgänge
Knoten | Horizontales Hochskalieren | Horizontales Herunterskalieren | Vertikale Skalierung |
---|---|---|---|
Steuerungsebene | Ja | Nein | Ja |
Worker | Ja | Ja | Ja |
- Bei der vertikalen Skalierung eines Clusterknotens kann es vorkommen, dass Arbeitslasten mangels verfügbarer Ressourcen nicht mehr auf dem Knoten ausgeführt werden können. Aus diesem Grund kann die horizontale Skalierung als Ansatz bevorzugt werden.
- VM-Klassen sind nicht unveränderlich. Wenn Sie einen Tanzu Kubernetes-Cluster nach der Bearbeitung einer von diesem Cluster verwendeten VM-Klasse skalieren, verwenden neue Clusterknoten die aktualisierte Klassendefinition, aber vorhandene Clusterknoten verwenden weiterhin die anfängliche Klassendefinition, was zu einer Diskrepanz führt. Weitere Informationen finden Sie unter VM-Klassen für Tanzu Kubernetes-Cluster.
Skalierungsvoraussetzungen: Konfigurieren der Kubectl-Bearbeitung
Zum Skalieren eines Tanzu Kubernetes-Clusters aktualisieren Sie das Cluster-Manifest mit dem Befehl kubectl edit tanzukubernetescluster/CLUSTER-NAME
. Mit dem Befehl kubectl edit wird das Cluster-Manifest in dem durch die KUBE_EDITOR- oder EDITOR-Umgebungsvariablen definierten Texteditor geöffnet. Anweisungen zum Einrichten der Umgebungsvariablen finden Sie unter Angeben eines Standardtexteditors für Kubectl.
kubectl
, dass die Bearbeitungen erfolgreich aufgezeichnet wurden, und der Cluster wird mit den Änderungen aktualisiert.
kubectl edit tanzukubernetescluster/tkgs-cluster-1 tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
kubectl edit tanzukubernetescluster/tkgs-cluster-1 Edit cancelled, no changes made.
Horizontales Hochskalieren der Steuerungsebene
- Authentifizieren Sie sich beim Supervisor-Cluster.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
kubectl config use-context tkgs-cluster-ns
- Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
kubectl get tanzukubernetescluster -n tkgs-cluster-ns
- Rufen Sie die Anzahl der im Zielcluster ausgeführten Knoten ab.
kubectl get tanzukubernetescluster tkgs-cluster-1
Der folgende Cluster hat z. B. 1 Steuerungsebenenknoten und 3 Worker-Knoten.NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE tkgs-cluster-1 1 3 v1.18.5+vmware.1-tkg.1.886c781 1d running
- Führen Sie zum Laden des Cluster-Manifests zur Bearbeitung den Befehl
kubectl edit
aus.kubectl edit tanzukubernetescluster/tkgs-cluster-1
Das Cluster-Manifest wird in dem Texteditor geöffnet, der von den Umgebungsvariablen KUBE_EDITOR oder EDITOR definiert wird.
- Suchen Sie den
spec.topology.controlPlane.count
-Parameter und erhöhen Sie die Anzahl der Knoten von 1 auf 3.... controlPlane: count: 1 ...
... ControlPlane: count: 3 ...
- Um die Änderungen anzuwenden, speichern Sie die Datei im Texteditor. Schließen Sie zum Abbrechen den Editor ohne Speichern.
Wenn Sie die Datei speichern, wendet kubectl die Änderungen auf den Cluster an. Der VM-Dienst auf dem Supervisor-Cluster stellt im Hintergrund den neuen Worker-Knoten bereit.
- Vergewissern Sie sich, dass die neuen Knoten hinzugefügt wurden.
kubectl get tanzukubernetescluster tkgs-cluster-1
Die horizontal hochskalierte Steuerungsebene verfügt jetzt über 3 Knoten.NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE tkgs-cluster-1 3 3 v1.18.5+vmware.1-tkg.1.886c781 1d running
Horizontales Hochskalieren der Worker-Knoten
Sie können einen Tanzu Kubernetes-Cluster horizontal hochskalieren, indem Sie die Zahl der Worker-Knoten mithilfe von kubectl erhöhen.
- Authentifizieren Sie sich beim Supervisor-Cluster.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
kubectl config use-context tkgs-cluster-ns
- Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
kubectl get tanzukubernetescluster -n tkgs-cluster-ns
- Rufen Sie die Anzahl der im Zielcluster ausgeführten Knoten ab.
kubectl get tanzukubernetescluster tkgs-cluster-1
Der folgende Cluster hat z. B. 3 Steuerungsebenenknoten und 3 Worker-Knoten.NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE tkgs-cluster-1 3 3 v1.18.5+vmware.1-tkg.1.886c781 1d running
- Führen Sie zum Laden des Cluster-Manifests zur Bearbeitung den Befehl
kubectl edit
aus.kubectl edit tanzukubernetescluster/tkgs-cluster-1
Das Cluster-Manifest wird in dem Texteditor geöffnet, der von den Umgebungsvariablen KUBE_EDITOR oder EDITOR definiert wird.
- Suchen Sie den
spec.topology.workers.count
-Parameter und erhöhen Sie die Anzahl der Knoten.... workers: count: 3 ...
... workers: count: 4 ...
- Um die Änderungen anzuwenden, speichern Sie die Datei im Texteditor. Schließen Sie zum Abbrechen den Editor ohne Speichern.
Wenn Sie die Datei speichern, wendet kubectl die Änderungen auf den Cluster an. Der VM-Dienst auf dem Supervisor-Cluster stellt im Hintergrund den neuen Worker-Knoten bereit.
- Vergewissern Sie sich, dass die neuen Worker-Knoten hinzugefügt wurden.
kubectl get tanzukubernetescluster tkgs-cluster-1
Durch das horizontale Hochskalieren ergeben sich 4 Worker-Knoten für den Cluster.NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE tkgs-cluster-1 3 4 v1.18.5+vmware.1-tkg.1.886c781 1d running
Horizontales Herunterskalieren der Worker-Knoten
Sie können einen Tanzu Kubernetes-Cluster horizontal herunterskalieren, indem Sie die Zahl der Worker-Knoten verringern. Die Skalierung in der Steuerungsebene wird nicht unterstützt.
- Authentifizieren Sie sich beim Supervisor-Cluster.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
kubectl config use-context tkgs-cluster-ns
- Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
kubectl get tanzukubernetescluster -n tkgs-cluster-ns
- Rufen Sie die Anzahl der im Zielcluster ausgeführten Knoten ab.
kubectl get tanzukubernetescluster tkgs-cluster-1
Der folgende Cluster hat z. B. 3 Steuerungsebenenknoten und 3 Worker-Knoten.NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE tkgs-cluster-1 3 4 v1.18.5+vmware.1-tkg.1.886c781 1d running
- Führen Sie zum Laden des Cluster-Manifests zur Bearbeitung den Befehl
kubectl edit
aus.kubectl edit tanzukubernetescluster/tkgs-cluster-1
Das Cluster-Manifest wird in dem Texteditor geöffnet, der von den Umgebungsvariablen KUBE_EDITOR oder EDITOR definiert wird.
- Suchen Sie den
spec.topology.workers.count
-Parameter und erhöhen Sie die Anzahl der Knoten.... workers: count: 4 ...
... workers: count: 2 ...
- Um die Änderungen anzuwenden, speichern Sie die Datei im Texteditor. Schließen Sie zum Abbrechen den Editor ohne Speichern.
Wenn Sie die Datei speichern, wendet kubectl die Änderungen auf den Cluster an. Der VM-Dienst auf dem Supervisor-Cluster stellt im Hintergrund den neuen Worker-Knoten bereit.
- Vergewissern Sie sich, dass die Worker-Knoten entfernt wurden.
kubectl get tanzukubernetescluster tkgs-cluster-1
Durch das horizontale Herunterskalieren ergeben sich 2 Worker-Knoten für den Cluster.NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE tkgs-cluster-1 3 2 v1.18.5+vmware.1-tkg.1.886c781 1d running
Vertikale Skalierung eines Clusters
Sie können einen Tanzu Kubernetes-Cluster vertikal skalieren, indem Sie die Klasse der virtuellen Maschine ändern, die zum Hosten der Clusterknoten verwendet wird. Vertikale Skalierung wird sowohl für Steuerungsebenen- als auch für Worker-Knoten unterstützt.
Der Tanzu Kubernetes Grid-Dienst unterstützt die vertikale Skalierung von Clusterknoten über den in den Dienst integrierten Mechanismus für parallele Updates. Wenn Sie die VirtualMachineClass
-Definition ändern, rollt der Dienst neue Knoten mit dieser neuen Klasse aus und fährt die alten Knoten herunter. Weitere Informationen hierzu finden Sie unter Update von Tanzu Kubernetes-Clustern.
- Authentifizieren Sie sich beim Supervisor-Cluster.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
kubectl config use-context tkgs-cluster-ns
- Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
kubectl get tanzukubernetescluster -n tkgs-cluster-ns
- Beschreiben Sie den Tanzu Kubernetes-Zielcluster und überprüfen Sie die VM-Klasse.
kubectl describe tanzukubernetescluster tkgs-cluster-2
Der folgende Cluster verwendet z. B. die VM-Klasse „best-effort-small“.
Spec: ... Topology: Control Plane: Class: best-effort-small ... Workers: Class: best-effort-small ...
- Erstellen Sie eine Liste und eine Beschreibung der verfügbaren VM-Klassen.
kubectl get virtualmachineclassbinding
kubectl describe virtualmachineclassbinding
Hinweis: Die VM-Klasse, die Sie verwenden möchten, muss an den vSphere-Namespace gebunden sein. Weitere Informationen finden Sie unter VM-Klassen für Tanzu Kubernetes-Cluster. - Öffnen Sie zum Bearbeiten des Manifests des Zielclusters.
kubectl edit tanzukubernetescluster/tkgs-cluster-2
Das Cluster-Manifest wird in dem Texteditor geöffnet, der von den Umgebungsvariablen KUBE_EDITOR oder EDITOR definiert wird.
- Bearbeiten Sie das Manifest, indem Sie die VM-Klasse ändern.
Bearbeiten Sie z. B. das Cluster-Manifest, um die
guaranteed-xlarge
-VM-Klasse für Steuerungsebene und Worker-Knoten zu verwenden.spec: topology: controlPlane: class: guaranteed-xlarge ... workers: class: guaranteed-xlarge ...
- Um die Änderungen anzuwenden, speichern Sie die Datei im Texteditor. Schließen Sie zum Abbrechen den Editor ohne Speichern.
Wenn Sie die Datei speichern, wendet kubectl die Änderungen auf den Cluster an. Im Hintergrund stellt der Tanzu Kubernetes Grid-Dienst die neuen Knoten bereit und löscht die alten. Eine Beschreibung des rollierenden Updates finden Sie unter Informationen zu Tanzu Kubernetes Grid-Dienst-Cluster-Updates.
- Vergewissern Sie sich, dass 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 21h updating