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

In der Tabelle sind die unterstützten Skalierungsvorgänge für Tanzu Kubernetes-Cluster aufgeführt.
Tabelle 1. Unterstützte Skalierungsvorgänge für Tanzu Kubernetes-Cluster
Knoten Horizontales Hochskalieren Horizontales Herunterskalieren Vertikale Skalierung
Steuerungsebene Ja Nein Ja
Worker Ja Ja Ja
Berücksichtigen Sie die folgenden Aspekte:
  • 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.

Wenn Sie die Manifeständerungen speichern, meldet 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
Schließen Sie zum Abbrechen einfach den Editor, ohne zu speichern.
kubectl edit tanzukubernetescluster/tkgs-cluster-1
Edit cancelled, no changes made.

Horizontales Hochskalieren der Steuerungsebene

Sie können einen Tanzu Kubernetes-Cluster horizontal hochskalieren, indem Sie die Anzahl der Steuerungsebenenknoten von 1 bis 3 erhöhen. Die Anzahl der Steuerungsebenenknoten muss ungerade sein. Sie können die Steuerungsebene nicht skalieren.
  1. Authentifizieren Sie sich beim Supervisor-Cluster.
    kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
  2. Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
    kubectl config use-context tkgs-cluster-ns
  3. Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
    kubectl get tanzukubernetescluster -n tkgs-cluster-ns
  4. 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
    
  5. 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.

  6. 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
    ...
    
  7. 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.

  8. 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.

  1. Authentifizieren Sie sich beim Supervisor-Cluster.
    kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
  2. Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
    kubectl config use-context tkgs-cluster-ns
  3. Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
    kubectl get tanzukubernetescluster -n tkgs-cluster-ns
  4. 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
    
  5. 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.

  6. Suchen Sie den spec.topology.workers.count-Parameter und erhöhen Sie die Anzahl der Knoten.
    ...
    workers:
        count: 3
    ...
    
    ...
    workers:
        count: 4
    ...
    
  7. 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.

  8. 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.

  1. Authentifizieren Sie sich beim Supervisor-Cluster.
    kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
  2. Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
    kubectl config use-context tkgs-cluster-ns
  3. Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
    kubectl get tanzukubernetescluster -n tkgs-cluster-ns
  4. 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
    
  5. 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.

  6. Suchen Sie den spec.topology.workers.count-Parameter und erhöhen Sie die Anzahl der Knoten.
    ...
    workers:
        count: 4
    ...
    
    ...
    workers:
        count: 2
    ...
    
  7. 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.

  8. 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.

  1. Authentifizieren Sie sich beim Supervisor-Cluster.
    kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
  2. Wechseln Sie den Kontext zum vSphere-Namespace, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
    kubectl config use-context tkgs-cluster-ns
  3. Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
    kubectl get tanzukubernetescluster -n tkgs-cluster-ns
  4. 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
          ...
    
  5. 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.
  6. Ö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.

  7. 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
          ...
    
  8. 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.

  9. 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