Verfügbarkeit von Spot-VMs ansehen

In diesem Dokument wird beschrieben, wie Sie die Echtzeitverfügbarkeit und die erwartete Betriebszeit für Spot-VMs aufrufen.

Bevor Sie Spot-VMs erstellen, können Sie mit der advice.capacity API die Verfügbarkeit in Echtzeit und die erwartete Betriebszeit für mehrere Maschinentypen und Standorte abrufen. Diese Informationen helfen Ihnen bei Folgendem:

  • Fehler bei der Ressourcenverfügbarkeit reduzieren: Wenn Sie sehen, für welche Maschinentypen, Regionen oder Zonen Kapazität verfügbar ist, können Sie diese Konfigurationen beim Erstellen von Spot-VMs angeben. Dadurch verringert sich die Wahrscheinlichkeit, dass Ressourcenverfügbarkeitsfehler auftreten.

  • Arbeitslasten für das Unterbrechen optimieren: Wenn Sie die erwartete Betriebszeit für verschiedene Maschinenkonfigurationen und Standorte vergleichen, können Sie die Konfigurationen auswählen, die am besten zu Ihren Arbeitslasten passen. Wenn Sie diese Faktoren berücksichtigen, können Sie Ihre Spot-VMs so gestalten und organisieren, dass das Unterbrechen Ihrer Arbeitslasten durch das Vorziehen nicht erfolgt.

Informationen zum Vergleichen von Stabilität und Kosten verschiedener Maschinentypen und Standorte finden Sie unter Vorabnutzungsrate und Preise für Spot-VMs ansehen.

Beschränkungen

Wenn Sie eine Anfrage an die advice.capacity API senden, können Sie die Verfügbarkeit von TPUs nicht sehen.

Ressourcenverfügbarkeit für Spot-VMs ansehen

Wenn Sie eine Anfrage an die advice.capacity API senden, werden in der Ausgabe die folgenden Empfehlungsmesswerte angezeigt. Diese Messwerte basieren auf dem Maschinentyp, den Ihre Spot-VMs verwenden sollen, der Zone, in der Sie Spot-VMs erstellen möchten, sowie der Echtzeitverfügbarkeit und den bisherigen Raten der vorzeitigen Beendigungen der angeforderten Ressourcen.

  • Erreichbarkeitswert: Die Wahrscheinlichkeit, dass Ihre Anfrage zum Erstellen von Spot-VMs mit der angegebenen Anzahl von VMs und der Maschinenkonfiguration erfolgreich ist. Weitere Informationen finden Sie unter Erreichbarkeitsbewertung für Spot-VMs.

  • Geschätzte Betriebszeit: Die Mindestzeit, die die meisten Ihrer Spot-VMs voraussichtlich laufen, bevor Compute Engine sie vorzeitig beendet. Weitere Informationen finden Sie unter Geschätzte Betriebszeit für Spot-VMs.

Verfügbarkeitsbewertung für Spot-VMs

Wenn Sie eine Anfrage an die advice.capacity API senden, gibt der Verfügbarkeitswert (obtainability) in der Ausgabe an, wie wahrscheinlich es ist, dass Sie die angegebene Anzahl von Spot-VMs in einer oder mehreren Zonen erstellen können. Compute Engine berechnet diesen Wert anhand der Echtzeitverfügbarkeit der angeforderten Ressourcen und der Erfolgsrate der letzten Erstellungsanfragen.

Der Erreichbarkeitswert liegt zwischen 0.0 und 1.0 und gibt eine der folgenden Erfolgswahrscheinlichkeiten an:

  • Hohe Erfolgschancen (0.7 bis 1.0): Es ist sehr wahrscheinlich, dass die angeforderten Spot-VMs erstellt werden.

  • Mittlere Erfolgswahrscheinlichkeit (0.4 bis 0.6): Es ist mäßig wahrscheinlich, dass die angeforderten Spot-VMs erstellt werden. Wenn Sie Spot-VMs im Bulk oder in einer verwalteten Instanzgruppe mit einer Zielgröße erstellen, erhalten Sie möglicherweise nur einen Teil der angeforderten VMs.

  • Geringe Erfolgsaussichten (0.0 bis 0.3): Es ist unwahrscheinlich, dass die angeforderten Spot-VMs erstellt werden. Wir empfehlen, die Ressourcenverfügbarkeit an einem anderen Standort oder für einen anderen Maschinentyp zu prüfen oder VMs mit einem anderen Bereitstellungsmodell zu erstellen.

Geschätzte Betriebszeit für Spot-VMs

Wenn Sie eine Anfrage an die advice.capacity API senden, gibt die geschätzte Betriebszeit (estimatedUptime) in der Ausgabe die Mindestzeit an, die die meisten Ihrer angegebenen Anzahl von Spot-VMs voraussichtlich vor der Unterbrechung ausgeführt werden. Compute Engine berechnet diese Betriebszeit anhand der bisherigen und aktuellen Nutzungsmuster für den von Ihnen angegebenen Maschinentyp und Standort.

Compute Engine kann die geschätzte Betriebszeit auf einen der folgenden Werte festlegen:

  • 60 Minuten (3.600 Sekunden): Die meisten Ihrer Spot-VMs werden wahrscheinlich eine Stunde lang ausgeführt,bevor Compute Engine sie vorzeitig beendet. Erstellen Sie VMs für lang andauernde Arbeitslasten, die Unterbrechungen tolerieren können, z. B. Batcharbeitslasten.

  • 10 Minuten (600 Sekunden): Die meisten Ihrer Spot-VMs werden wahrscheinlich 10 Minuten lang ausgeführt, bevor sie von Compute Engine vorzeitig beendet werden. Erstellen Sie VMs nur für kurz laufende Aufgaben oder für fehlertolerante Arbeitslasten, bei denen der Fortschritt in kurzen Intervallen gespeichert wird.

  • 1 Minute (60 Sekunden): Die meisten Ihrer Spot-VMs werden wahrscheinlich eine Minute lang ausgeführt, bevor Compute Engine sie vorzeitig beendet. Wir empfehlen, eine der folgenden Maßnahmen zu ergreifen:

    • Erstellen Sie VMs nur für sehr kurze Aufgaben, Tests oder nicht kritische Arbeitslasten.

    • Prüfen Sie die Ressourcenverfügbarkeit an einem anderen Ort oder für einen anderen Maschinentyp.

    • Erstellen Sie VMs mit einem anderen Bereitstellungsmodell.

Best Practices

Damit Sie nach der Verwendung der advice.capacity API möglichst viel Kapazität erhalten, empfehlen wir die folgenden Best Practices:

  • Ausgaben für verschiedene Maschinentypen vergleichen: Wenn Ihre Arbeitslast flexibel ist, vergleichen Sie Optionen mit einer unterschiedlichen Anzahl von Spot-VMs oder Maschinentypen. Sie können beispielsweise die Ausgabe für 100 VMs mit dem Maschinentyp n1-standard-2 und 50 VMs mit dem Maschinentyp n1-standard-4 vergleichen. Anschließend können Sie Spot-VMs mit der Konfiguration erstellen, die das beste Gleichgewicht zwischen Verfügbarkeit und geschätzter Betriebszeit für Ihre Arbeitslastanforderungen bietet.

  • Ausgaben an mehreren Standorten vergleichen: Wenn Ihre Arbeitslast in mehreren Regionen oder Zonen ausgeführt werden kann, prüfen Sie die Verfügbarkeit an jedem Standort. Wenn beispielsweise zwei Regionen dieselbe geschätzte Betriebszeit bieten, erstellen Sie Spot-VMs in der Region mit dem höheren Erreichbarkeitswert.

  • VMs auf mehrere Zonen verteilen: Wenn Sie eine Zielverteilungsform von ANY oder BALANCED angeben, empfiehlt die advice.capacity API möglicherweise, dass Sie Spot-VMs in mehreren Zonen erstellen. Wenn Sie beispielsweise die Wahrscheinlichkeit maximieren möchten, 100 Spot-VMs zu erstellen, wird in der Ausgabe möglicherweise empfohlen, 90 VMs in einer Zone und 10 VMs in einer anderen Zone zu erstellen.

Hinweis

  • Die advice.capacity API enthält standardmäßig KI-Zonen in ihren Empfehlungen zur Verfügbarkeit und erwarteten Betriebszeit. Damit Sie Spot-VMs in KI-Zonen erstellen können, wenn die API empfiehlt, VMs in einer dieser Zonen zu erstellen, prüfen Sie, ob KI-Zonen für Ihr Projekt aktiviert sind.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:

    Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  • Legen Sie eine Standardregion und -zone fest.
  • REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI.

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Betrachter (roles/compute.viewer) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen der Verfügbarkeit von Spot-VMs benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Aufrufen der Verfügbarkeit von Spot-VMs erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um die Verfügbarkeit von Spot-VMs aufzurufen:

  • So rufen Sie die Verfügbarkeit von Spot-VMs auf: compute.advice.capacity für das Projekt

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Verfügbarkeit von Spot-VMs ansehen

Wenn Sie die Verfügbarkeit von Spot-VMs aufrufen möchten, müssen Sie den Standort, die Maschinenkonfiguration und die Anzahl der VMs angeben, die Sie erstellen möchten. Anhand der Ergebnisse können Sie entweder die Spot-VMs erstellen oder die Ressourcenverfügbarkeit an einem anderen Standort oder für eine andere Maschinenkonfiguration ansehen.

Je nach den Anforderungen Ihrer Arbeitslast sollten Sie Folgendes berücksichtigen:

Wählen Sie eine der folgenden Optionen aus, um die Verfügbarkeit von Spot-VMs aufzurufen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Capacity Advisor auf.

    Zum Kapazitätsberater

  2. Führen Sie im Bereich Filter die folgenden Schritte aus:

    1. Wählen Sie im Bereich Standort in der Liste Region die Regionen aus, in denen Sie die Verfügbarkeit von Spot-VMs sehen möchten.

    2. Geben Sie im Abschnitt Maschinenspezifikationen die Maschinenkonfiguration und die Anzahl der Spot-VMs an, für die Sie die Verfügbarkeit sehen möchten:

      1. Wählen Sie in der Liste Maschinenfamilie eine Maschinenfamilie aus.

      2. Wählen Sie in der Liste Serie bis zu drei Maschinenserien aus.

      3. Wählen Sie in der Liste Maschinentyp bis zu fünf Maschinentypen aus.

      4. Geben Sie im Feld Anzahl der VMs die Anzahl der Spot-VMs ein.

    3. Klicken Sie auf  Suchen.

gcloud

Verwenden Sie den Befehl gcloud beta compute advice capacity, um die Verfügbarkeit von Spot-VMs aufzurufen:

gcloud beta compute advice capacity \
    --provisioning-model=SPOT \
    --instance-selection-machine-types=MACHINE_TYPES \
    --target-distribution-shape=TARGET_DISTRIBUTION_SHAPE \
    --size=SIZE \
    --region=REGION

Ersetzen Sie Folgendes:

  • MACHINE_TYPES: eine durch Kommas getrennte Liste von Maschinentypen, für die Sie die Verfügbarkeit aufrufen möchten, z. B. n2-standard-2,n2-standard-4. Sie können bis zu fünf Maschinentypen angeben.

  • TARGET_DISTRIBUTION_SHAPE: die Verteilung der angeforderten Ressourcen. Geben Sie je nach Art der Arbeitslast, die Sie ausführen möchten, und den Zonen, in denen Sie VMs erstellen möchten, einen der folgenden Werte an:

    • ANY: Sie möchten Spot-VMs in einer oder mehreren Zonen basierend auf der Verfügbarkeit erstellen. Geben Sie diesen Wert für Batcharbeitslasten an.

    • ANY_SINGLE_ZONE: Sie möchten Spot-VMs nur in einer einzelnen Zone basierend auf der Verfügbarkeit erstellen. Geben Sie diesen Wert für Arbeitslasten an, die eine umfangreiche Kommunikation zwischen VMs erfordern, z. B. KI- oder HPC-Arbeitslasten (High Performance Computing, Hochleistungs-Computing).

    • BALANCED: Sie möchten Spot-VMs in einer oder mehreren Zonen basierend auf der Verfügbarkeit erstellen und Compute Engine soll die VMs so gleichmäßig wie möglich auf die Zonen verteilen. Geben Sie diesen Wert an, um die Auswirkungen von Zonenausfällen auf hochverfügbare Bereitstellungs- oder Batcharbeitslasten zu minimieren.

  • SIZE: die Anzahl der Spot-VMs, die Sie erstellen möchten.

  • REGION: die Region, in der Sie die Verfügbarkeit von Spot-VMs ansehen möchten. Wenn Sie anstelle einer Region eine durch Kommas getrennte Liste von Zonen angeben möchten, ersetzen Sie das --region-Flag durch das --zones-Flag.

Die Ausgabe sieht etwa so aus:

recommendations:
- scores:
  obtainability: 0.9
  estimatedUptime: 600s
- shards:
  - instanceCount: 90
    machineType: n2-standard-2
    provisioningModel: SPOT
    zone: https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a
  - instanceCount: 10
    machineType: n2-standard-4
    provisioningModel: SPOT
    zone: https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-c

REST

Senden Sie eine POST-Anfrage an die Beta-Methode advice.capacity, um die Verfügbarkeit von Spot-VMs aufzurufen.

Wenn Sie beispielsweise die Verfügbarkeit für zwei Maschinentypen in einer Region aufrufen möchten, stellen Sie eine Anfrage wie folgt: Sie können die Verfügbarkeit für bis zu fünf Maschinentypen pro Anfrage abrufen.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacity

{
  "instanceProperties": {
    "scheduling": {
      "provisioningModel": "SPOT"
    }
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "MACHINE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1"
        ]
      },
      "MACHINE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_2"
        ]
      }
    }
  },
  "distributionPolicy": {
    "targetShape": "TARGET_DISTRIBUTION_SHAPE"
  },
  "size": SIZE
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID.

  • REGION: die Region, in der Sie die Verfügbarkeit von Spot-VMs ansehen möchten.

  • MACHINE_SELECTION_1 und MACHINE_SELECTION_2: ein Name für die Auswahl des Maschinentyps. Geben Sie beispielsweise selection-1 und selection-2 an.

  • MACHINE_TYPE_1 und MACHINE_TYPE_2: Die Maschinentypen, für die Sie die Verfügbarkeit aufrufen möchten. Beachten Sie je nach Maschinentyp Folgendes:

    • N1-Maschinentypen: Wenn Sie GPUs an Ihre N1-Spot-VMs anhängen möchten, fügen Sie das Feld guestAccelerators in die Felder MACHINE_SELECTION_1 oder MACHINE_SELECTION_2 ein:

      "guestAccelerators": [
        {
          "acceleratorCount": ACCELERATOR_COUNT,
          "acceleratorType": "ACCELERATOR_TYPE"
        }
      ]
      

      Ersetzen Sie Folgendes:

    • Maschinentypen ohne standardmäßige lokale SSD-Laufwerke: Wenn Sie Ihren Spot-VMs lokale SSD-Laufwerke zuweisen möchten, fügen Sie das Feld disks in die Felder MACHINE_SELECTION_1 oder MACHINE_SELECTION_2 ein. Wiederholen Sie das Feld type für jedes lokale SSD-Laufwerk, das Sie anhängen möchten, und legen Sie es auf SCRATCH fest. Wenn Sie beispielsweise zwei lokale SSD-Laufwerke anhängen möchten, fügen Sie Folgendes ein:

      "disks": [
        {
          "type": "SCRATCH"
        },
        {
          "type": "SCRATCH"
        }
      ]
      
  • TARGET_DISTRIBUTION_SHAPE: die Verteilung der angeforderten Ressourcen. Geben Sie je nach Art der Arbeitslast, die Sie ausführen möchten, und den Zonen, in denen Sie VMs erstellen möchten, einen der folgenden Werte an:

    • ANY: Sie möchten Spot-VMs in einer oder mehreren Zonen basierend auf der Verfügbarkeit erstellen. Geben Sie diesen Wert für Batcharbeitslasten an.

    • ANY_SINGLE_ZONE: Sie möchten Spot-VMs nur in einer einzelnen Zone basierend auf der Verfügbarkeit erstellen. Geben Sie diesen Wert für Arbeitslasten an, die eine umfangreiche Kommunikation zwischen VMs erfordern, z. B. KI- oder HPC-Arbeitslasten.

    • BALANCED: Sie möchten Spot-VMs in einer oder mehreren Zonen basierend auf der Verfügbarkeit erstellen und Compute Engine verteilt die VMs so gleichmäßig wie möglich auf die Zonen. Geben Sie diesen Wert an, um die Auswirkungen von Zonenausfällen auf hochverfügbare Bereitstellungs- oder Batcharbeitslasten zu minimieren.

  • SIZE: die Anzahl der Spot-VMs, die Sie erstellen möchten.

Die Ausgabe sieht etwa so aus:

{
  "recommendations": [
    {
      "scores": {
        "estimatedUptime": "600s",
        "obtainability": 0.9
      },
      "shards": [
        {
          "instanceCount": 90,
          "machineType": "n2-standard-2",
          "provisioningModel": "SPOT",
          "zone": "https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a"
        },
        {
          "instanceCount": 10,
          "machineType": "n2-standard-4",
          "provisioningModel": "SPOT",
          "zone": "https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-c"
        }
      ]
    }
  ]
}

Wenn Sie die Verfügbarkeit von Spot-VMs in bestimmten Zonen innerhalb einer Region aufrufen möchten, fügen Sie das Feld zones in den Anfragetext ein.

Nächste Schritte