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. Aktivieren Sie Google Kubernetes Engine API
- Prüfen Sie, ob das Cloud SDK installiert ist.
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.
-
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
- Folgen Sie der Anleitung, um
gcloud
zur Verwendung Ihres Google Cloud-Kontos zu autorisieren. - Erstellen Sie eine neue Konfiguration oder wählen Sie eine vorhandene aus.
- Wählen Sie ein Google Cloud-Projekt aus.
- 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
Zur Seite "Knoten für einzelne Mandanten"
Klicken Sie auf Knotenvorlage erstellen.
Geben Sie einen Namen und eine Region für Ihre Knotenvorlage an.
Wählen Sie einen Knotentyp aus.
Optional können Sie ein oder mehrere Knotenaffinitätslabels hinzufügen.
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 Befehlgcloud 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:
Zur Seite "Knoten für einzelne Mandanten"
Klicken Sie auf Knotengruppe erstellen.
Geben Sie einen Namen für Ihre Knotenvorlage an.
Wählen Sie dieselbe Region aus, in der Sie die Knotenvorlage erstellt haben, und wählen Sie dann eine Zone in dieser Region aus.
Wählen Sie Ihre Knotenvorlage aus.
Optional können Sie den Autoscaling-Modus aktivieren.
Geben Sie die Anzahl der Knoten an, die Sie in der Gruppe haben möchten.
Ändern Sie optional die Wartungsrichtlinie.
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.
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.
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:
Löschen Sie den Knotenpool für einzelne Mandanten:
gcloud container node-pools delete node-pool-name
Löschen Sie die Knotengruppe für einzelne Mandanten:
gcloud beta compute sole-tenant node-groups delete group-name --zone compute-zone
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