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:

  • Achten Sie darauf, dass die Google Kubernetes Engine API aktiviert ist.
  • Google Kubernetes Engine API aktivieren
  • Prüfen Sie, ob die Google Cloud CLI installiert ist.
  • Mit den folgenden Methoden können Sie die Standardeinstellungen der Google Cloud CLI für Ihr Projekt einrichten:
    • Verwenden Sie gcloud init, wenn Sie die Standardeinstellungen für Projekte ansehen möchten.
    • Verwenden Sie gcloud config, um Ihre Projekt-ID, Zone und Region individuell festzulegen.

    gcloud init

    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 die gcloud CLI für die Nutzung 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.
    6. Wählen Sie eine Compute Engine-Standardregion aus.

    gcloud config

    1. Legen Sie Ihre standardmäßige Projekt-ID fest:
      gcloud config set project PROJECT_ID
    2. Legen Sie Ihre standardmäßige Compute Engine-Region fest (z. B. us-central1):
      gcloud config set compute/region COMPUTE_REGION
    3. Legen Sie Ihre standardmäßige Compute Engine-Zone fest (z. B. us-central1-c):
      gcloud config set compute/zone COMPUTE_ZONE
    4. Aktualisieren Sie gcloud auf die neueste Version:
      gcloud components update

    Durch das Festlegen von Standardspeicherorten können Sie in der gcloud CLI Fehler wie One of [--zone, --region] must be supplied: Please specify location vermeiden.

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. Rufen Sie in der Cloud Console die Seite Knoten für einzelne Mandanten auf.

    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=COMPUTE_REGION

Dabei gilt:

  • TEMPLATE_NAME: Name der neuen Knotenvorlage.
  • NODE_TYPE: Knotentyp für Knoten für einzelne Mandanten, die anhand 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.
  • COMPUTE_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. Rufen Sie in der Cloud Console die Seite Knoten für einzelne Mandanten auf.

    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: Der Name der neuen Knotengruppe.
  • COMPUTE_ZONE: Die Zone, in der sich diese Knotengruppe befindet. Diese Zone muss sich in derselben Region befinden wie die von Ihnen verwendete Knotenvorlage.
  • TEMPLATE_NAME: Der Name der von Ihnen verwendeten Knotenvorlage.
  • TARGET_SIZE: Die Anzahl der Knoten, die Sie in der Gruppe erstellen möchten.

Die Ausgabe sieht etwa so aus:

Created [https://www.googleapis.com/compute/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. Erstellen Sie andernfalls einen Cluster mit gcloud container 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=MACHINE_TYPE \
        --node-locations=COMPUTE_ZONE,COMPUTE_ZONE1
    

    Für regionale Knotenpools:

    gcloud container node-pools create NODE_POOL_NAME \
        --node-group GROUP_NAME --cluster CLUSTER_NAME \
        --region COMPUTE_REGION --machine-type=MACHINE_TYPE \
        --node-locations=COMPUTE_ZONE,COMPUTE_ZONE1
    

    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_REGION stimmt mit der Region des Clusters überein.
    • MACHINE_TYPE ist der Maschinentyp des Knotenpools.
    • COMPUTE_ZONE, COMPUTE_ZONE1,[...]: die Zonen für die Knotengruppen 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 compute sole-tenancy node-groups delete GROUP_NAME \
        --zone COMPUTE_ZONE
    
  3. Löschen Sie die Vorlage für Knoten für einzelne Mandanten:

    gcloud compute sole-tenancy node-templates delete TEMPLATE_NAME \
        --region COMPUTE_REGION
    

Nächste Schritte