Compute Engine-Knoten für einzelne Mandanten in GKE verwenden

Auf dieser Seite erfahren Sie, wie Sie Compute Engine-Knoten für einzelne Mandanten in Google Kubernetes Engine (GKE) verwenden.

Knoten für einzelne Mandanten sind dedizierte physische Server, auf denen die VMs eines bestimmten Projekts ausgeführt werden. Sie können Knoten für einzelne Mandanten verwenden, um Ihre VMs physisch von VMs in anderen Projekten getrennt zu halten oder auf derselben Hosthardware zu gruppieren.

Hinweis

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

Mit den folgenden Methoden können Sie die gcloud-Einstellungen festlegen:

  • Verwenden Sie gcloud init, wenn Sie die Standardeinstellungen ansehen möchten.
  • Verwenden Sie gcloud config, um Ihre Projekt-ID, Zone und Region individuell festzulegen.

gcloud init verwenden

Wenn Sie die Fehlermeldung One of [--zone, --region] must be supplied: Please specify location erhalten, führen Sie diesen Abschnitt aus.

  1. Führen Sie gcloud init aus und folgen Sie der Anleitung:

    gcloud init

    Wenn Sie SSH auf einem Remote-Server verwenden, können Sie mit dem Flag --console-only verhindern, dass mit dem Befehl ein Browserfenster geöffnet wird:

    gcloud init --console-only
  2. Folgen Sie der Anleitung, um gcloud zur Verwendung Ihres Google Cloud-Kontos zu autorisieren.
  3. Erstellen Sie eine neue Konfiguration oder wählen Sie eine vorhandene aus.
  4. Wählen Sie ein Google Cloud-Projekt aus.
  5. Wählen Sie eine Compute Engine-Standardzone aus.

gcloud config verwenden

  • Legen Sie Ihre standardmäßige Projekt-ID fest:
    gcloud config set project project-id
  • Wenn Sie mit zonalen Clustern arbeiten, legen Sie die Compute-Standardzone fest:
    gcloud config set compute/zone compute-zone
  • Wenn Sie mit regionalen Clustern arbeiten, legen Sie die Standardregion für Compute Engine fest:
    gcloud config set compute/region compute-region
  • Aktualisieren Sie gcloud auf die neueste Version:
    gcloud components update

Weitere Kontingente anfordern

Knoten für einzelne Mandanten sind groß (z. B. 96 vCPUs und 624 GB Arbeitsspeicher) und die Kontingente des Standardprojekts sind zu niedrig.

Sie müssen auf der Seite "Kontingente" eine Kontingenterhöhung für Compute Engine API-CPUs anfordern, um Knoten für einzelne Mandanten zu erstellen. Weitere Informationen zum Anfordern einer Erhöhung finden Sie unter Kontingente.

Die Anzahl der benötigten CPUs hängt von folgenden Faktoren ab:

  • Die aktuelle CPU-Kontingentnutzung.
  • Die Größe der Knotengruppe.
  • Die Knotenvorlage.

Untersuchen Sie die Anzahl der Kerne Ihres Knotentyps für einzelne Mandanten und fordern Sie ein CPU-Limit von mindestens diesem Betrag an, am besten mit einem Toleranzbereich von zehn zusätzlichen CPUs.

Vorlage für einen Knoten für einzelne Mandanten erstellen

Eine Knotenvorlage für einzelne Mandanten ist eine regionale Ressource, die beim Erstellen einer Knotengruppe Attribute definiert und auf jeden Knoten anwendet. Weitere Informationen finden Sie unter Knotentypen.

Console

  1. Zur Seite "Knoten für einzelne Mandanten"

    Zur Seite "Knoten für einzelne Mandanten"

  2. Klicken Sie auf Knotenvorlage erstellen.

  3. Geben Sie einen Namen und eine Region für Ihre Knotenvorlage an.

  4. Wählen Sie einen Knotentyp aus.

  5. Optional können Sie ein oder mehrere Knotenaffinitätslabels hinzufügen.

  6. Klicken Sie auf Erstellen, um die Knotenvorlage zu erstellen.

gcloud

Verwenden Sie den Befehl gcloud compute sole-tenancy node-templates create, um eine Knotenvorlage zu erstellen:

gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \
  --node-type=NODE_TYPE \
  --node-affinity-labels=AFFINITY_LABELS \
  --region=REGION

Ersetzen Sie Folgendes:

  • TEMPLATE_NAME: Name der neuen Knotenvorlage.

  • NODE_TYPE: Knotentyp für Knoten für einzelne Mandanten, die basierend auf dieser Vorlage erstellt wurden. Verwenden Sie den Befehl gcloud compute sole-tenancy node-types list, um eine Liste der in den einzelnen Zonen verfügbaren Knotentypen abzurufen.

  • AFFINITY_LABELS: Schlüssel und Werte, [KEY=VALUE,...], für Affinitätslabels. Mit Affinitätslabels können Sie Knoten und Knotengruppen logisch gruppieren. Später können Sie bei der Bereitstellung von VMs Affinitätslabels auf den VMs angeben, um VMs auf einem bestimmten Satz von Knoten oder Knotengruppen zu planen. Weitere Informationen finden Sie unter Knotenaffinität und Anti-Affinität.

  • REGION: Region, in der die Knotenvorlage erstellt werden soll. Mit dieser Vorlage können Sie Knotengruppen in jeder Zone dieser Region erstellen.

Die Ausgabe sieht etwa so aus:

Created [https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/nodeTemplates/template-name].

Knotengruppe für einzelne Mandanten erstellen

Eine Knotengruppe ist eine Gruppe von Knoten für einzelne Mandanten in einer bestimmten Zone aus derselben Knotenvorlage für einzelne Mandanten. Für regionale Cluster und Knotenpools, die in mehreren Zonen verfügbar sind, müssen Sie in jeder Zone eine Knotengruppe mit demselben Namen erstellen.

Console

Führen Sie die folgenden Schritte aus, um eine Knotengruppe für einzelne Mandanten zu erstellen:

  1. Zur Seite "Knoten für einzelne Mandanten"

    Zur Seite "Knoten für einzelne Mandanten"

  2. Klicken Sie auf Knotengruppe erstellen.

  3. Geben Sie einen Namen für Ihre Knotenvorlage an.

  4. Wählen Sie dieselbe Region aus, in der Sie die Knotenvorlage erstellt haben, und wählen Sie dann eine Zone in dieser Region aus.

  5. Wählen Sie Ihre Knotenvorlage aus.

  6. Optional können Sie den Autoscaling-Modus aktivieren.

  7. Geben Sie die Anzahl der Knoten an, die Sie in der Gruppe haben möchten.

  8. Ändern Sie optional die Wartungsrichtlinie.

  9. Klicken Sie auf Erstellen, um die Knotengruppe zu erstellen.

gcloud

Erstellen Sie eine Knotengruppe aus der Vorlage:

gcloud compute sole-tenancy node-groups create group-name --zone compute-zone \
  --node-template template-name --target-size target-size

Dabei gilt:

  • group-name ist der Name, den Sie Ihrer neuen Knotenvorlage geben möchten.
  • compute-zone ist die Zone, in der sich diese Knotengruppe befindet. Diese Zone muss sich in derselben Region befinden wie die von Ihnen verwendete Knotenvorlage.
  • template-name ist der Name der von Ihnen verwendeten Knotenvorlage.
  • target-size ist die Anzahl der Knoten, die Sie in der Gruppe erstellen möchten.

Die Ausgabe sieht etwa so aus:

Created [https://www.googleapis.com/compute/beta/projects/my-project/zones/us-central1-a/nodeGroups/group-name].

GKE-Knoten für einzelne Mandanten erstellen

Nachdem Sie in Compute Engine eine Knotengruppe für einzelne Mandanten erstellt haben, können Sie einen Knotenpool für einzelne Mandanten erstellen.

Wenn Sie bereits einen GKE-Cluster haben, können Sie diesem einen Knotenpool hinzufügen. Wenn nicht, erstellen Sie einen Cluster mit [gcloud container clusters create]](/sdk/gcloud/reference/continear/clusters/create).

Wenn Sie einen regionalen Cluster verwenden oder Ihr Knotenpool in mehreren Zonen verfügbar ist, müssen Sie in jeder dieser Zonen eine Knotengruppe mit demselben Namen erstellen. Wenn Sie den Namen in jeder Zone nicht wiederverwenden können, erstellen Sie separate Knotenpools für jede Zone.

  1. Erstellen Sie einen neuen Knotenpool mit einer angegebenen Knotengruppe:

    Für zonale Knotenpools:

     gcloud container node-pools create node-pool-name \
       --node-group group-name --cluster cluster-name \
       --zone compute-zone --machine-type=node-group-machine-type \
       --node-locations=node-group-zone
    

    Für regionale Knotenpools:

      gcloud container node-pools create node-pool-name \
        --node-group group-name --cluster cluster-name \
        --region compute-region --machine-type=node-group-machine-type \
        --node-locations=node-group-zone,[node-group-zone,…]
    

    Dabei gilt:

    • node-pool-name ist der Name für den neuen Knotenpool.
    • group-name ist der Name der vorhandenen Knotengruppe für einzelne Mandanten, die Sie verwenden möchten.
    • cluster-name ist der Name des Clusters, in dem Sie den Knotenpool erstellen.
    • compute-zone stimmt mit der Zone des Clusters überein.
    • compute-region stimmt mit der Region des Clusters überein.
    • machine-type ist der Maschinentyp des Knotenpools.
    • node-group-zone ist/sind die Knotengruppenzone(n) für einzelne Mandanten.

  2. Kontrollieren Sie, ob der Knotenpool erstellt wurde:

      kubectl get nodes
    

Im gerade erstellten Knotenpool sollte nun eine Liste der Knoten im Status Ready zu sehen sein. Sie können die Knoten für einzelne Mandanten auch auf der Seite für einzelne Mandanten aufrufen.

Bereinigen

Führen Sie die folgenden Schritte aus, um die in den vorherigen Beispielen erstellten Ressourcen zu entfernen:

  1. Löschen Sie den Knotenpool für einzelne Mandanten:

    gcloud  container node-pools delete node-pool-name
    
  2. Löschen Sie die Knotengruppe für einzelne Mandanten:

    gcloud beta compute sole-tenant node-groups delete group-name --zone compute-zone
    
  3. Löschen Sie die Vorlage für Knoten für einzelne Mandanten:

    gcloud beta compute sole-tenancy node-templates delete template-name \
        --region compute-region
    

Nächste Schritte