Auf dieser Seite erfahren Sie, wie Sie eine Mindest-CPU-Plattform für Knoten in Google Kubernetes Engine-Clustern (GKE) angeben.
Vorteile einer Mindest-CPU-Plattform
Die Angabe einer Mindest-CPU-Plattform ist nützlich, wenn Sie bestimmte CPU-Funktionen und -Spezifikationen benötigen, z. B. eine hohe Basisfrequenz oder eine optimierte Energiesparmodusfunktion.
Einige fortgeschrittene, rechenintensive Arbeitslasten in der Grafik-, Spiele- und Analysebranche können bestimmte Funktionen nutzen, die über CPU-Plattformen verfügbar sind, z. B. AVX-2 oder AVX-512. Die Auswahl einer geeigneten CPU-Plattform kann zu einer erheblichen Verbesserung von Ausführungszeit und Leistung führen. Durch die Angabe einer Mindest-CPU-Plattform können Ihre Arbeitslasten diese Verbesserungen auf vorhersehbare Weise realisieren. Außerdem können Sie sich sicher sein, dass Ihre Knoten niemals eine für ihre Arbeitslasten ungeeignete CPU-Plattform verwenden.
Plattform auswählen
In der folgenden Tabelle erfahren Sie, wie Sie eine Mindest-CPU-Plattform basierend auf Ihrer Verwendung von GKE auswählen:
| Umfang | Beschreibung | Unterstützte Clusterkonfiguration |
|---|---|---|
| Arbeitslastebene (empfohlen) | Wählen Sie in der Pod-Spezifikation eine Mindestplattform aus. GKE plant diese Pods so:
|
|
| Knoten- und Clusterebene | Wählen Sie beim Erstellen eines neuen Clusters oder Knotenpools im Standardmodus eine Mindest-CPU-Plattform aus. Diese Einstellung unterstützt keine automatische Knotenbereitstellung. Eine Anleitung finden Sie unter Mindest-CPU-Plattform auf Knotenpoolebene auswählen. | Neuer Standardcluster oder Knotenpool |
Preise
Sie können eine Mindest-CPU-Plattform ohne zusätzliche Kosten auswählen.
Hinweis
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten,
installieren und dann
initialisieren Sie die
gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste
Version mit dem
gcloud components updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
Verfügbarkeit der CPU-Plattform prüfen
Die verfügbaren CPU-Plattformen variieren je nach der Compute-Zone, in der Ihre Knoten ausgeführt werden. Sie sollten prüfen, welche CPU-Plattformen in einer Zone verfügbar sind, auch wenn Sie Autopilot-Cluster oder regionale Standardcluster verwenden.
Führen Sie den folgenden Befehl aus, um die verfügbaren Plattformen in einer bestimmten Zone zu prüfen:
gcloud compute zones describe COMPUTE_ZONE
Ersetzen Sie COMPUTE_ZONE durch den Namen einer Zone, z. B. us-central1-a. Wenn Sie einen regionalen Clustertyp verwenden, geben Sie den Namen einer Zone in dieser Region an.
Die Ausgabe sieht in etwa so aus:
availableCpuPlatforms:
- Intel Ice Lake
- Intel Cascade Lake
- Intel Skylake
- Intel Broadwell
- Intel Haswell
- Intel Ivy Bridge
- Intel Sandy Bridge
- AMD Milan
- AMD Rome
- Ampere Altra
- Intel Sapphire Rapids
Wenn Sie diese Werte verwenden, um eine Mindest-CPU-Plattform anzufordern, ersetzen Sie die Leerzeichen im Plattformnamen durch Unterstriche. Beispiel: AMD_Milan.
Mindest-CPU-Plattform auf Arbeitslastebene auswählen
Wenn Sie GKE Autopilot-Cluster oder GKE Standard-Cluster mit automatischer Knotenbereitstellung verwenden, können Sie in der Pod-Spezifikation eine Mindest-CPU-Plattform auswählen. Wenn Sie die Arbeitslast bereitstellen, plant GKE diese Pods nur auf Knoten mit der angegebenen Plattform oder höher. Dies ist die empfohlene Vorgehensweise.
Autopilot
Fordern Sie in Autopilot eine Mindest-CPU-Plattform und eine Compute-Klasse an. Die Compute-Klasse muss die CPU-Plattform unterstützen. Autopilot unterstützt die Auswahl einer Mindest-CPU-Plattform für die Compute-Klasse Balanced. Eine Liste der verfügbaren CPU-Plattformen in den einzelnen Compute-Klassen finden Sie unter Wann werden bestimmte Compute-Klassen verwendet?.
Speichern Sie das folgende Manifest als min-cpu.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: min-cpu-platform
labels:
app: min-cpu
spec:
replicas: 3
selector:
matchLabels:
app: min-cpu
template:
metadata:
labels:
app: min-cpu
spec:
nodeSelector:
cloud.google.com/compute-class: "COMPUTE_CLASS"
supported-cpu-platform.cloud.google.com/PLATFORM: "true"
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
ports:
- containerPort: 8080
resources:
requests:
cpu: 250m
Dabei gilt:
PLATFORMist der Name der CPU-Plattform, z. B.AMD_Milan. Beim Plattformnamen wird zwischen Groß- und Kleinschreibung unterschieden und er muss durch Unterstriche getrennt sein.COMPUTE_CLASSist der Name der Compute-Klasse, dieBalancedsein muss.
Standard
Fordern Sie in Standardclustern mit aktivierter automatischer Knotenbereitstellung eine CPU-Plattform zusammen mit einer Compute Engine-Maschinenfamilie an. Die Maschinenfamilie muss die CPU-Plattform unterstützen. Eine Liste der unterstützten Plattformen für jede Maschinenfamilie finden Sie unter Compute Engine-CPU-Plattformen.
Speichern Sie das folgende Manifest als min-cpu.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: min-cpu-platform
labels:
app: min-cpu
spec:
replicas: 3
selector:
matchLabels:
app: min-cpu
template:
metadata:
labels:
app: min-cpu
spec:
nodeSelector:
cloud.google.com/machine-family: MACHINE_FAMILY
cloud.google.com/requested-min-cpu-platform: PLATFORM
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
ports:
- containerPort: 8080
resources:
requests:
cpu: 250m
Dabei gilt:
PLATFORMist der Name der CPU-Plattform, z. B.AMD_Milan. Beim Plattformnamen wird zwischen Groß- und Kleinschreibung unterschieden und er muss durch Unterstriche getrennt sein.MACHINE_FAMILYist der Name der Maschinenfamilie, z. B.n2d.
Arbeitslast bereitstellen:
kubectl apply -f min-cpu.yaml
Knoten behalten die gleiche Plattform über ihre Laufzeit bei, es sei denn, die angegebene CPU-Plattform ist veraltet. In diesem Fall werden die Knoten auf einer neueren Plattform ausgeführt.
Mindest-CPU-Plattform auf Knotenpoolebene auswählen
Für GKE Standard-Cluster ohne automatische Knotenbereitstellung können Sie beim Erstellen eines neuen Clusters oder Knotenpools eine Mindest-CPU-Plattform angeben. Verwenden Sie diesen Ansatz nur, wenn Sie die Einstellung auf Arbeitslastebene nicht verwenden können. Diese Einstellung hat keine Auswirkungen auf die automatische Knotenbereitstellung.
gcloud
Wenn Sie einen neuen Knotenpool mit einer Mindest-CPU-Plattform mit der gcloud CLI erstellen möchten, geben Sie das Flag --min-cpu-platform an und legen Sie den Namen der CPU-Plattform fest:
gcloud container node-pools create POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--min-cpu-platform PLATFORM
Dabei gilt:
POOL_NAMEist der Name des neuen Knotenpools.CLUSTER_NAMEist der Name Ihres Clusters.CONTROL_PLANE_LOCATIONist der Compute Engine Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.PLATFORMist die CPU-Plattform, die Sie im Knotenpool ausführen möchten, z. B."Intel Broadwell".
Console
Öffnen Sie in der Cloud de Confiance Console die Seite Google Kubernetes Engine.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf den Tab Knoten.
Klicken Sie auf add_box Vom Nutzer verwalteten Knotenpool erstellen.
Konfigurieren Sie den Knotenpool nach Bedarf.
Klicken Sie im Navigationsbereich auf Knoten.
Gehen Sie unter Maschinenkonfiguration so vor:
Wählen Sie in der Drop-down-Liste Reihen einen Maschinentyp aus.
Wählen Sie in der Drop-down-Liste Maschinentyp die Option Benutzerdefiniert aus.
Wählen Sie nach Bedarf Kerne und Arbeitsspeicher aus.
Klicken Sie auf expand_more CPU-Plattform und GPU.
Wählen Sie in der Drop-down-Liste CPU-Plattform die Mindestplattform aus.
Klicken Sie auf Erstellen.
API
Fügen Sie das Attribut minCpuPlatform als Teil des Felds nodeConfig in den Anfragetext ein. Der Wert für minCpuPlatform muss der Name der Plattform sein, z. B. Intel Haswell, Intel Broadwell oder Intel Sandy Bridge.
Die folgende Anfrage erstellt beispielsweise einen neuen Knotenpool mit der Intel Broadwell-Plattform:
POST https://container.googleapis.com/v1/projects/PROJECT_ID/regions/COMPUTE_REGION/clusters/CLUSTER_NAME/nodePools
{
'nodePool': {
'name': 'POOL_NAME',
'nodeConfig': {
'minCpuPlatform': 'Intel Broadwell'
...
}
...
}
}
Dabei gilt:
PROJECT_IDist Ihre Projekt-ID.COMPUTE_REGIONist die Region für den Cluster.CLUSTER_NAME: Der Name Ihres Clusters.POOL_NAMEist der Name des neuen Knotenpools.
Alternativen
Mit GKE können Sie Mindest-CPU-Plattformen auch mit den folgenden Methoden auswählen:
| Alternativen | |
|---|---|
Flag auf Clusterebene
|
|
Beschränkungen
Die folgenden Beschränkungen gelten für alle Methoden zur Auswahl einer Mindest-CPU-Plattform:
- Es gelten alle Beschränkungen für Compute Engine-Mindest-CPU-Plattformen apply.
- Die Verfügbarkeit bestimmter CPU-Plattformen variiert je nach Zone.
- Der Maschinentyp E2 unterstützt keine Mindest-CPU-Plattformen. Sie müssen einen anderen Maschinentyp auswählen.
- Autopilot-Cluster unterstützen die Plattformauswahl nur für die Compute-Klasse
Balanced, nicht für die Standard- oderScale-Out-Compute-Klassen. - Wenn Ihre Autopilot-Arbeitslast mehr als 80 vCPUs anfordert, muss die Mindest-CPU-Plattform Intel Ice Lake oder höher sein. Wenn Sie eine weniger fortschrittliche Plattform angeben, verbleibt der Pod möglicherweise auf unbestimmte Zeit im Status
Pending.
Die folgende Beschließung gilt für die Cluster- oder Knotenpool-Mindest-CPU-Plattform-Einstellung:
Wenn Sie eine Mindest-CPU-Plattform auswählen, die weniger fortschrittlich ist als die Standard-CPU-Plattform in der Zone, oder wenn die ausgewählte Plattform nicht mehr verfügbar ist, prüft GKE, ob es eine neuere Plattform zum gleichen Preis gibt. Wenn eine neuere Plattform zum gleichen Preis vorhanden ist, erstellt GKE die Knoten mit der neueren Plattform. Wenn keine neuere Plattform zum gleichen Preis vorhanden ist, schlägt die Erstellung des Clusters oder Knotenpools fehl.
Nächste Schritte
- Hier finden Sie eine Liste der verfügbaren CPU-Plattformen.
- Weitere Informationen zu Regionen und Zonen
- Mehr über Knoten erfahren