Mindest-CPU-Plattform für VM-Instanzen angeben


In diesem Dokument wird erläutert, wie Sie eine VM-Instanz so erstellen oder aktualisieren, dass sie eine Mindest-CPU-Plattform (minCpuPlatform) verwendet, wann immer diese verfügbar ist.

Google-Rechenzentren bieten Intel Xeon-basierte Hostmaschinen mit Sandy Bridge-, Ivy Bridge-, Haswell-, Broadwell- und Skylake-CPU-Plattformen. Jede CPU-Plattform unterstützt Erweiterungsfunktionen wie AVX2, AVX-512 und so weiter. Einige grundlegende systembezogene Funktionen wie die Taktgeschwindigkeit und die Speicherzugriffszeit können von CPU-Plattform zu CPU-Plattform variieren. Verschiedene Zonen unterstützen mehrere CPU-Plattformen und Sie können eine CPU-Plattform für Ihre VM-Instanzen auswählen, die die spezifischen Anforderungen Ihrer Arbeitslasten unter Verwendung einer Mindestplattform unterstützt.

Weitere Informationen zu den für jede Zone verfügbaren CPU-Plattformen finden Sie unter CPU-Plattformen und Regionen und Zonen.

Vorbereitung

Gründe für die Auswahl einer Mindest-CPU-Plattform

Höchstwahrscheinlich müssen Sie keine Mindest-CPU-Plattformen für Ihre VMs auswählen. Jede Compute Engine-Zone hat eine Standard-CPU-Plattform, die in der Dokumentation zu Regionen und Zonen aufgeführt ist. Jede neu erstellte VM ohne eine Mindest-CPU-Spezifikation erhält automatisch die Standard-CPU-Plattform.

Google empfiehlt, dass Sie nur dann eine Mindest-CPU-Plattform auswählen, wenn dadurch die Leistung Ihrer Arbeitslast erheblich gesteigert wird oder bestimmte Funktionen wie AVX2, AVX-512 oder MPX geboten werden, die Ihr Code verwendet. Wenn Sie eine spezifische Mindest-CPU-Plattform für Ihre VMs auswählen, ergeben sich zusätzliche Einschränkungen bezüglich der Möglichkeit, VMs in bestimmten Zonen zu starten, in denen einige CPU-Plattformen nur begrenzt verfügbar sind.

Vorgehensweise bei Auswahl einer Mindest-CPU-Plattform

Wenn Sie eine Mindest-CPU-Plattform festlegen, geschieht Folgendes:

  • Compute Engine verwendet immer die Mindest-CPU-Plattform, sofern verfügbar.

  • Wenn Compute Engine eine CPU-Plattform in einer Zone einstellt, kann Ihre VM auf einer besseren, in dieser Zone verfügbaren CPU-Plattform ausgeführt werden, nachdem Sie die VM beendet und neu gestartet haben. Es kommt sehr selten vor, dass CPU-Plattformen nicht mehr unterstützt werden. Gegebenenfalls werden Sie rechtzeitig darüber informiert.

Nachdem Sie eine Mindest-CPU-Plattform für eine VM ausgewählt haben, geschieht Folgendes:

  • Diese CPU-Plattform wird von Ihrer VM verwendet, es sei denn, Sie beenden die VM und wählen eine andere CPU-Plattform.
  • Bei einer Livemigration behält Ihre VM die ausgewählte CPU-Plattform bei.
  • Google kann die Standard-CPU-Plattform für eine Zone gelegentlich aktualisieren. Weitere Informationen finden Sie unter Standard-CPU-Plattform einstellen oder aktualisieren.

Standard-CPU-Plattform einstellen oder aktualisieren

Google stellt bisweilen eine ältere CPU-Plattform ein oder aktualisiert die Standard-CPU-Plattform in einer bestimmten Zone. Dies hat folgende Gründe:

  • Die Kapazität einer Zone wächst mit der Zeit und die Zone wird proaktiv auf eine neuere CPU-Plattform umgestellt, sobald diese verfügbar ist.
  • Alle drei bis fünf Jahre ersetzt Google ältere CPU-Plattformen durch neuere und aktualisiert die Standard-CPU-Plattform auf die jeweils nächste, neuere CPU-Plattform, die in der jeweiligen Zone verfügbar ist.

Jedes Mal, wenn eine neue Region oder Zone erstellt wird, kommt die zu dieser Zeit neueste CPU-Plattform zum Einsatz.

Wenn eine Zone eingestellt wird oder sich die Standard-CPU-Plattform für eine Zone ändert, informiert Google die betroffenen Kunden im Voraus und stellt einen detaillierten Zeitplan und spezifische Anleitungen für den Übergang zur neueren Plattform zur Verfügung.

VMs werden niemals auf einer Plattform ausgeführt, die älter als die von Ihnen angegebene Mindest-CPU-Plattform ist. Außerdem ändert sich nichts an den Kosten für Ihre VM, wenn Compute Engine sie auf eine neuere Plattform umstellt.

Spezifikationen

Beschränkungen

  • Die vordefinierten Maschinentypen f1-small und g1-small sind allgemeine VMs mit gemeinsam genutztem Kern. Diese bieten keine Auswahlmöglichkeiten für die CPU-Plattform.

Verfügbarkeit

Die Verfügbarkeit von spezifischen CPU-Plattformen variiert zonenübergreifend und basiert auf der in jeder Zone verfügbaren Hardware. Nachfolgend sind die unterstützten Mindest-CPU-Plattformen und die für jede Plattform gültige Syntax aufgelistet:

  • Intel Xeon (Skylake): "Intel Skylake"
  • Intel Xeon E5 (Sandy Bridge): "Intel Sandy Bridge"
  • Intel Xeon E5 v2 (Ivy Bridge): "Intel Ivy Bridge"
  • Intel Xeon E5 v3 (Haswell): "Intel Haswell"
  • Intel Xeon E5 v4 (Broadwell): "Intel Broadwell"
  • Intel Xeon (Cascade Lake): "Intel Cascade Lake"

Mehrfache CPU-Plattformen und die Auswahl einer Mindest-CPU-Plattform sind nur in bestimmten Zonen verfügbar. Wenn Sie Knoten für einzelne Mandanten verwenden, verwendet jeder Knoten die CPU-Plattform, die dem in der Knotenvorlage definierten Knotentyp entspricht. Daher können Sie keine Mindest-CPU-Plattform für VMs angeben, die Knoten für einzelne Mandanten verwenden.

Mit dem Befehl gcloud compute zones describe oder durch eine Anfrage an die API können Sie eine Liste der unterstützten Plattformen für eine bestimmte Zone aufrufen.

gcloud

So rufen Sie die CPU-Plattformen in Ihrer Zone ab:

gcloud compute zones describe [ZONE]

Die Ausgabe dieses Befehls listet beispielsweise die CPU-Plattformen für die Zone us-west1-a auf:

$ gcloud compute zones describe us-west1-a
availableCpuPlatforms:
- Intel Skylake
- Intel Broadwell
...

API

Senden Sie in der API eine GET-Anfrage an die betreffende Zone:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/[ZONE]

Die Antwort enthält eine Liste der in dieser Zone unterstützten CPU-Plattformen. Beispiel:

{
 "kind": "compute#zone",
 "id": "2210",
 "creationTimestamp": "2016-06-10T09:30:55.189-07:00",
 "name": "us-west1-a",
 "description": "us-west1-a",
 "status": "UP",
 "region": "https://www.googleapis.com/compute/v1/projects/myproject/regions/us-west1",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-west1-a",
 "availableCpuPlatforms": [
  "Intel Broadwell",
  "Intel Haswell"
 ]
}

Mindest-CPU-Plattform für eine neue VM auswählen

Wenn Sie eine Instanz erstellen, können Sie eine Mindest-CPU-Plattform festlegen.

Konsole

  1. Öffnen Sie die Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.
  3. Klicken Sie auf Instanz erstellen.
  4. Klicken Sie im Abschnitt Maschinenkonfiguration auf CPU-Plattform und GPU.
  5. Wählen Sie im Drop-down-Menü CPU-Plattform eine Option aus.
  6. Fahren Sie nun mit der Erstellung der Instanz fort.

gcloud

Wenn Sie mit dem gcloud-Befehlszeilentool eine neue VM mit einer Mindest-CPU-Plattform erstellen möchten, geben Sie das neue Flag --min-cpu-platform an. Geben Sie bei der Angabe der CPU-Plattform den Anzeigenamen an, z. B. Intel Broadwell oder Intel Haswell. Im Abschnitt über verfügbare Zonen können Sie nachsehen, welche Plattformen in den einzelnen Zonen verfügbar sind.

Hier ein Beispiel, in dem die Mindest-CPU-Plattform Intel Haswell angegeben wird:

gcloud compute instances create example-instance \
    --zone europe-west1-b \
    --min-cpu-platform "Intel Haswell"

Wenn Sie die Spezifikation für die Mindest-CPU-Plattform löschen möchten, setzen Sie --min-cpu-platform auf AUTOMATIC.

API

Fügen Sie in der Compute Engine API das Attribut minCpuPlatform als Teil des Anfragetexts ein. Der Wert für minCpuPlatform muss der Anzeigename für die Plattform sein, z. B. Intel Haswell, Intel Broadwell oder Intel Sandy Bridge.

Ein Anfragetext könnte beispielsweise so aussehen:

"name": "[INSTANCE_NAME]",
"machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
"minCpuPlatform": "Intel Haswell",
"networkInterfaces": [{
  "accessConfigs": [{
    "type": "ONE_TO_ONE_NAT",
    "name": "External NAT"
   }],
  "network": "global/networks/default"
}],
"disks": [{
   "autoDelete": "true",
   "boot": "true",
   "type": "PERSISTENT",
   "initializeParams": {
      "sourceImage": "projects/[IMAGE_PROJECT]/global/images/family/[IMAGE]"
   }
 }]

Wenn Sie die Spezifikation für die Mindest-CPU-Plattform löschen möchten, setzen Sie minCpuPlatform auf AUTOMATIC.

Mindest-CPU-Plattform für eine beendete VM festlegen

Sie können einer vorhandenen Instanz eine Mindest-CPU-Plattform zuweisen, wenn Sie die Instanz anhalten.

Wenn Sie die Instanz angehalten haben, folgen Sie der nachfolgenden Anleitung zum Festlegen einer Mindest-CPU-Plattform. Denken Sie anschließend daran, die Instanz neu zu starten.

Konsole

  1. Öffnen Sie die Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Falls Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.
  3. Wählen Sie die angehaltene Instanz aus, die Sie ändern möchten.
  4. Klicken Sie auf Bearbeiten, um die Instanz zu bearbeiten.
  5. Klicken Sie im Abschnitt Maschinenkonfiguration auf CPU-Plattform und GPU.
  6. Wählen Sie im Drop-down-Menü CPU-Plattform eine Option aus.
  7. Speichern Sie die Änderungen.
  8. Starten Sie die Instanz neu.

gcloud

Verwenden Sie den Unterbefehl update, gefolgt vom Flag --min-cpu-platform. Geben Sie den Anzeigenamen der Plattform an, z. B. Intel Haswell, Intel Broadwell oder Intel Sandy Bridge. Beispiel:

gcloud compute instances update [INSTANCE_NAME] \
    --min-cpu-platform "Intel Haswell"

API

Senden Sie eine POST-Anfrage an die Methode setMinCpuPlatform und legen im Anfragetext das Attribut minCpuPlatform fest, um die Mindest-CPU-Plattform in der API festzulegen. Der Wert für das Attribut ist der Anzeigename der CPU-Plattform, z. B. Intel Haswell, Intel Broadwell oder Intel Sandy Bridge. Beispiel:

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE]/setMinCpuPlatform

{
  "minCpuPlatform": "Intel Haswell"
}

Mindest-CPU-Plattform in Instanzvorlagen angeben

Wenn Sie verwaltete Instanzgruppen verwenden, können Sie für VM-Instanzen innerhalb einer verwalteten Instanzgruppe eine Mindest-CPU-Plattform angeben.

Wenn Sie eine Mindest-CPU-Plattform angeben möchten, erstellen Sie eine Instanzvorlage, die das Attribut minCpuPlatform enthält.

Console

  1. Öffnen Sie die Seite mit den Instanzvorlagen.

    Zur Seite "Instanzvorlagen"

  2. Falls Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.
  3. Klicken Sie auf Instanzvorlage erstellen.
  4. Klicken Sie im Abschnitt Maschinenkonfiguration auf CPU-Plattform und GPU.
  5. Wählen Sie im Drop-down-Menü CPU-Plattform eine Option aus.
  6. Fahren Sie nun mit der Erstellung der Instanzvorlage fort.

gcloud

Geben Sie im gcloud-Tool beim Erstellen einer Instanzvorlage das Flag --min-cpu-platform an. Beispiel:

gcloud compute instance-templates create example-template \
    --min-cpu-platform "Intel Haswell"

API

Fügen Sie der Anfrage das Attribut minCpuPlatform hinzu, um eine neue Instanzvorlage über die API zu erstellen.

Die folgende Instanzvorlage enthält beispielsweise die mindestens erforderlichen Felder zum Erstellen einer neuen Vorlage, plus das Attribut minCpuPlatform:

{
"name": "example-template",
"properties": {
  "machineType": "zones/us-central1-a/machineTypes/n1-standard-2",
  "minCpuPlatform": "Intel Haswell",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-8"
      }
    }
  ]
  }
}

Nächste Schritte