Auf dieser Seite erfahren Sie, wie Sie eine minimale 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 wird beschrieben, wie Sie eine Mindest-CPU-Plattform auswählen, je nachdem, wie Sie GKE verwenden:
Umfang | Beschreibung | Unterstützte Clusterkonfiguration |
---|---|---|
Arbeitslastebene (empfohlen) | Wählen Sie eine Mindestplattform in Ihrer Pod-Spezifikation aus. GKE plant diese Pods so:
|
|
Knoten- und Clusterebene | Wählen Sie eine Mindest-CPU-Plattform aus, wenn Sie einen neuen Cluster oder Knotenpool im Standardmodus erstellen. 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 diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Verfügbarkeit der CPU-Plattform prüfen
Die verfügbaren CPU-Plattformen variieren je nach Computing-Zone, in der die 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 Leerzeichen im Plattformnamen durch Unterstriche. Beispiel: AMD_Milan
.
Mindest-CPU-Plattform auf Arbeitslastebene auswählen
Wenn Sie GKE Autopilot-Cluster oder GKE-Standardcluster mit automatischer Knotenbereitstellung verwenden, können Sie in Ihrer 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:
PLATFORM
ist 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_CLASS
: Der Name der Compute-Klasse, derBalanced
sein muss.
Standard
Fordern Sie in Standardclustern mit aktivierter automatischer Knotenbereitstellung eine CPU-Plattform zusammen mit einer Compute Engine-Rechnerfamilie 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:
PLATFORM
ist 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_FAMILY
ist 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 Standardcluster ohne automatische Knotenbereitstellung können Sie beim Erstellen eines neuen Clusters oder Knotenpools eine Mindest-CPU-Plattform angeben. Sie sollten diesen Ansatz nur verwenden, wenn Sie die Einstellung auf Arbeitslastebene nicht verwenden können. Diese Einstellung hat keine Auswirkungen auf die automatische Bereitstellung von Knoten.
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 \
--region COMPUTE_REGION \
--min-cpu-platform PLATFORM
Dabei gilt:
POOL_NAME
ist der Name des neuen Knotenpools.CLUSTER_NAME
: Der Name Ihres Clusters.COMPUTE_REGION
: die Region für den Cluster.PLATFORM
: Die CPU-Plattform, die Sie im Knotenpool ausführen möchten, z. B."Intel Broadwell"
.
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf Knotenpool hinzufügen add_box.
Konfigurieren Sie den Knotenpool wie gewünscht.
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 gewünschte Plattform 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, auf dem die Intel Broadwell-Plattform ausgeführt wird:
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_ID
ist Ihre Projekt-ID.COMPUTE_REGION
: Die Region für den Cluster.CLUSTER_NAME
: Der Name Ihres Clusters.POOL_NAME
ist der Name des neuen Knotenpools.
Wenn Sie die Plattform beim Erstellen eines Clusters angeben, gilt die Einstellung für die Mindest-CPU-Plattform für den Standardknotenpool im neuen Cluster.
Alternativen
In GKE können Sie Mindest-CPU-Plattformen auch mit den folgenden Methoden auswählen:
Alternativen | |
---|---|
Flag auf Clusterebene
|
Beschränkungen
Die folgenden Einschränkungen gelten für alle Methoden zum Auswählen einer Mindest-CPU-Plattform:
- Es gelten alle Einschränkungen der Compute Engine-Mindest-CPU-Plattformen.
- Die Verfügbarkeit bestimmter CPU-Plattformen variiert je nach Zone.
- Der E2-Maschinentyp 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-Klasse. - 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 Einschränkung gilt für die Einstellung der Mindest-CPU-Plattform für Cluster oder Knotenpools:
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 verfügbar ist, erstellt GKE die Knoten mit der neueren Plattform. Wenn es keine neuere Plattform zum gleichen Preis gibt, schlägt die Cluster- oder Knotenpoolerstellung fehl.
Nächste Schritte
- Hier finden Sie eine Liste der verfügbaren CPU-Plattformen.
- Weitere Informationen zu Regionen und Zonen
- Mehr über Knoten erfahren