In diesem Dokument wird die Instanzflexibilität beim Erstellen von VMs im Bulk mit Compute Engine beschrieben.
Wenn Sie VMs im Bulk in einer Region erstellen und Ihre Anwendung nicht auf einen einzelnen Maschinentyp beschränkt ist, können Sie die Erfolgsrate der Bereitstellung der erforderlichen Anzahl von VMs durch die Konfiguration der Instanzflexibilität erhöhen. Mit der Instanzflexibilität können Sie einen oder mehrere Maschinentypen angeben, die für Ihre Arbeitslast geeignet sind. Compute Engine stellt dann VMs mit einem dieser Maschinentypen bereit, basierend auf Kapazität und Kontingentverfügbarkeit.
Instanzflexibilität nutzen
Um die Instanzflexibilität zu konfigurieren, listen Sie geeignete Maschinentypen auf, indem Sie eine oder mehrere Instanzauswahlen in Ihrer regionalen Bulk-Insert-Anfrage definieren.
In einer REST-Anfrage fügen Sie beispielsweise das instanceFlexibilityPolicy-Objekt ein, in dem Sie ein oder mehrere instanceSelections-Objekte definieren, die jeweils eine Liste von Maschinentypen enthalten.
Wenn Compute Engine die Anfrage empfängt, werden zuerst die Maschinentypen und ihre zonale Kompatibilität validiert. Ungültige Einträge werden ausgeschlossen. Wenn mindestens eine gültige Konfiguration vorhanden ist, wird der Vorgang fortgesetzt.
Compute Engine versucht dann, VMs basierend auf verfügbarer Hardware, Kontingent und Reservierungen bereitzustellen. Wenn Sie Ränge für Ihre Instanzauswahlen konfigurieren, werden Auswahlen mit einem niedrigeren Rang priorisiert. Innerhalb jedes Rangs berücksichtigt Compute Engine ungenutzte Reservierungen und Spot-VM-Empfehlungen, um Maschinentypen mit einer geringeren Wahrscheinlichkeit für ein vorzeitiges Beenden auszuwählen.
Zonenauswahl bei definierter Zielverteilungsform
Wenn Sie die Instanzflexibilität mit einer regionalen bulkInsert-Anfrage verwenden, können Sie eine Zielverteilungsform angeben, um zu steuern, wie VMs auf Zonen in der Region verteilt werden. Compute Engine wählt Zonen für die Bereitstellung von VMs anhand dieser Form aus:
ANY_SINGLE_ZONE: Compute Engine wählt eine einzelne Zone aus, die die größte Kapazität für Maschinentypen mit einer höheren Priorität hat.BALANCED: Compute Engine verteilt VMs so gleichmäßig wie möglich auf Zonen mit verfügbaren Ressourcen. Innerhalb jeder Zone priorisiert Compute Engine Maschinentypen mit einer höheren Präferenz.ANY: Compute Engine wählt Zonen mit verfügbaren Ressourcen aus. Wenn Ränge konfiguriert sind, priorisiert Compute Engine Zonen, um VMs mit Maschinentypen mit einer höheren Priorität bereitzustellen.
Weitere Informationen finden Sie unter VMs im Bulk in einer Region erstellen.
Minimale VM-Bereitstellung und Instanzflexibilität
Wenn Sie in der bulkInsert-Anfrage einen Wert für die Mindestanzahl an erforderlichen VMs (minCount) definieren, versucht die API, mindestens so viele VMs zu erstellen. Wenn Compute Engine die erforderliche Mindestanzahl von VMs (minCount) nicht bereitstellen kann, schlägt der gesamte Vorgang fehl und Compute Engine erstellt keine VMs. Wenn Sie minCount mit Instanzflexibilität verwenden, priorisiert Compute Engine die Bereitstellung von VMs basierend auf der Verfügbarkeit und nicht auf dem Rang:
- Compute Engine priorisiert die Bereitstellung der maximalen Anzahl von VMs bis zu
count, auch wenn dies bedeutet, dass Maschinen mit niedrigerer Priorität verwendet werden. Wenn in Ihrer Anfrage beispielsweise mindestens eine erforderliche VM (minCount=1) und maximal 10 VMs (count=10) angegeben sind und Compute Engine Kapazität für die Bereitstellung von entweder einer VM mit höherer Priorität oder sechs VMs mit niedrigerer Priorität hat, werden die sechs VMs mit niedrigerer Priorität bereitgestellt. - Wenn Compute Engine mit verschiedenen Instanzauswahlen dieselbe maximale Anzahl von VMs (bis zu
count) bereitstellen kann, wird die Auswahl mit der höheren Priorität bevorzugt. Wenn in Ihrer Anfrage beispielsweise mindestens eine erforderliche VM (minCount=1) und maximal 10 VMs (count=10) angegeben sind und Compute Engine sechs VMs mit einer Instanzauswahl mit höherer oder niedrigerer Priorität bereitstellen kann, werden die sechs VMs von Compute Engine mit der Auswahl mit höherer Priorität bereitgestellt.
Weitere Informationen finden Sie unter minCount-Attribut in bulkInsert.
Bulk-Insert-Validierung und Fehlerszenarien
Compute Engine führt eine erste Validierung von Maschinentypen und ihrer zonalen Kompatibilität durch und schließt alle ungültigen Einträge aus. Wenn nach dieser ersten Prüfung mindestens eine gültige Konfiguration verbleibt, wird die VM in Compute Engine erstellt.
Einige Validierungen Ihrer Konfiguration können jedoch erst erfolgen, nachdem Compute Engine die Zonen und Maschinentypen für die Bereitstellung basierend auf Ihrer Instanzflexibilitätsrichtlinie und der verfügbaren Kapazität ausgewählt hat.
Wenn in dieser späteren Validierungsphase festgestellt wird, dass die für die Bereitstellung ausgewählte Kombination aus Maschinentyp und Zone ungültig ist, schlägt die gesamte Bulk-Insert-Anfrage mit Validierungsfehlern fehl. Dieser Fehler kann auch dann auftreten, wenn andere Konfigurationen in instanceFlexibilityPolicy anfangs gültig waren.
Beschränkungen
Bei der Verwendung von Instanzflexibilität für die Bulk-Erstellung von VMs gelten die folgenden Einschränkungen:
- Sie können die Instanzflexibilität nur für regionale
bulkInsert-Anfragen angeben. Sie kann nicht für zonale Anfragen verwendet werden. - Die Instanzflexibilität unterstützt keine AI Hypercomputer-Funktionen, einschließlich zukünftiger Reservierungen, des Bereitstellungsmodells „Flex-Start“ und A3 Ultra-, A4- und neuerer GPUs.
- Sie können keine benutzerdefinierten Maschinentypen mit Instanzflexibilität angeben.
- Sie können maximal 10 verschiedene Maschinentypen für maximal 10 verschiedene Instanzauswahlen angeben.