Instanzflexibilität in MIGs

Mit der Instanzflexibilität in verwalteten Instanzgruppen (Managed Instance Groups, MIGs) können Sie mehrere Maschinentypen für die VM-Instanzen (virtuelle Maschinen) in der Gruppe angeben, anstatt auf einen einzelnen Maschinentyp beschränkt zu sein. Wenn ein Maschinentyp nicht verfügbar ist, kann die MIG basierend auf der aktuellen Ressourcenverfügbarkeit automatisch einen anderen kompatiblen Typ aus Ihrer Liste auswählen. Diese Flexibilität trägt dazu bei, die Verfügbarkeit von Ressourcen zu verbessern, insbesondere für Anwendungen, die auf verschiedenen Maschinentypen ausgeführt werden können und die eine große Kapazität oder Hardware mit hoher Nachfrage erfordern.

In diesem Dokument wird beschrieben, wie die Instanzflexibilität in einer MIG funktioniert und welche Einschränkungen gelten. Informationen zum Konfigurieren einer MIG für die Verwendung der Instanz flexibilität finden Sie unter Instanzflexibilität hinzufügen.

Instanzflexibilität

Eine MIG erstellt alle ihre VMs anhand der Instanzvorlage die Sie auswählen. In der Instanzvorlage wird der Maschinentyp für jede VM angegeben. Mit der Instanzflexibilität können Sie alle Maschinentypen auflisten, die mit Ihrer Anwendung kompatibel sind.

Die folgende Abbildung vergleicht eine MIG, die einen einzelnen Maschinentyp verwendet, mit einer MIG, die die Instanzflexibilität nutzt. Wie in der Abbildung dargestellt, erstellt eine MIG mit einem einzelnen Maschinentyp identische VMs auf Grundlage einer Instanzvorlage, während eine MIG mit Instanzflexibilität VMs mit unterschiedlichen Maschinentypen und ‑größen erstellen kann.

Vergleich einer MIG mit einem einzelnen Maschinentyp und einer MIG mit Instanzflexibilität

Funktionsweise der Instanzflexibilität

Standardmäßig erstellt eine MIG alle VMs mit einem einzelnen Maschinentyp aus der Instanzvorlage. Sie können mehrere Maschinentypen in einer MIG festlegen, indem Sie eine Instanzauswahl (instanceSelections) in der Richtlinie für Instanzflexibilität (instanceFlexibilityPolicy) konfigurieren.

Sie können auch Maschinentypen angeben, die auf verschiedenen CPU-Plattformen ausgeführt werden, und solche mit unterschiedlichen Architekturen (x86- und Arm-Architektur). Wenn Sie Maschinentypen mit unterschiedlichen Anforderungen an die Mindest-CPU-Plattform oder Laufwerke verwenden möchten, überschreiben Sie die entsprechenden Attribute aus der Instanzvorlage mit der Richtlinie für Instanzflexibilität. Weitere Informationen finden Sie unter Funktionsweise der Überschreibungen von minCpuPlatform und disks.

Beispiel für Überschreibungen von Maschinentypen

Wenn Ihre Arbeitslast auf einer Reihe verschiedener Maschinentypen ausgeführt werden kann, können Sie eine Liste aller Maschinentypen, die mit Ihrer Anwendung kompatibel sind, in einer einzelnen instanceSelection wie folgt konfigurieren:

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "machineTypes": ["c2-standard-8","c2d-standard-8","c3-standard-8", "c3d-standard-8"]
      }
    }
  }
  

Die Maschinentypen innerhalb einer Instanzauswahl haben die gleiche Präferenz. Wenn eine MIG Maschinentypen in einer bestimmten Reihenfolge auswählen soll, können Sie mehrere Instanzauswahlen konfigurieren, die jeweils eine Liste von Maschinentypen und einen Rang zur Definition der Präferenz enthalten. Ein niedrigerer Rangwert bedeutet eine höhere Präferenz. Die MIG versucht, ihre VMs mit Maschinentypen mit einer höheren Präferenz zu erstellen. Wenn diese bevorzugten Maschinentypen nicht verfügbar sind, verwendet die MIG einen Maschinentyp mit einer niedrigeren Präferenz.

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "most-preferred": {
        "rank": 1,
        "machineTypes": ["c3-standard-8","c2-standard-8"]
      },
      "least-preferred": {
        "rank": 2,
        "machineTypes": ["n2-standard-16","n1-standard-16"]
      }
    }
  }
  

Ihre Anwendung muss für die Ausführung auf allen aufgeführten Maschinentypen bereit sein , da sich die Verfügbarkeit von Hardware im Laufe der Zeit ändert und bestimmte Hardware nicht garantiert ist, es sei denn, Sie verwenden Reservierungen.

Instanzauswahlen können auch die Instanzattribute wie minCpuPlatform und disks überschreiben. Weitere Informationen finden Sie im folgenden Abschnitt zur Funktionsweise von Überschreibungen durch Instanzauswahlen.

Funktionsweise der Überschreibungen von minCpuPlatform und disks

In einer Instanzauswahl können Sie zusätzliche Instanzattribute wie die Mindest-CPU-Plattform (minCpuPlatform) und Laufwerke (disks) angeben, um die in der Instanzvorlage definierten Attribute zu überschreiben. Wenn eine MIG einen Maschinentyp aus einer Instanzauswahl auswählt, erstellt die MIG eine VM mit den in dieser Instanzauswahl angegebenen Instanzattributen. Wenn Sie keine dieser Attribute für eine Instanzauswahl angeben, verwendet die MIG die entsprechenden Attribute aus der Vorlage für diese Auswahl.

Das Überschreiben dieser Attribute auf der Ebene der Instanzauswahl bietet mehr Kontrolle und Flexibilität, insbesondere bei Verwendung unterschiedlicher Hardware in einer MIG.

  • Überschreiben Sie die Mindest-CPU-Plattform , wenn Sie Maschinentypen kombinieren, die auf verschiedenen CPU-Plattformen ausgeführt werden. Sie können eine Mindest-CPU-Plattform für Instanzen angeben, die aus den Maschinentypen innerhalb einer Auswahl erstellt wurden. Mit dieser Überschreibung können Sie verschiedene Maschinentypen kombinieren, aber selektiv Mindest-CPU-Plattformen anwenden. Alternativ können Sie die Instanzauswahl so konfigurieren, dass automatisch eine CPU-Plattform ausgewählt wird, indem Sie das Feld minCpuPlatform auf AUTOMATIC setzen. Diese automatische Auswahl überschreibt die Einstellung für die Mindest-CPU-Plattform der Instanzvorlage und ermöglicht der MIG, eine beliebige kompatible CPU-Plattform für die ausgewählten Maschinentypen zu verwenden.

    Sie können beispielsweise Maschinentypen aus den Maschinenserien N1 und N2 in einer Auswahl kombinieren und gleichzeitig dafür sorgen, dass N1-Maschinen auf Intel Skylake ausgeführt werden, um die Leistung zu verbessern.

  • Überschreiben Sie Laufwerke, wenn Sie Maschinentypen mit unterschiedlichen Architekturen kombinieren. Sie können eine benutzerdefinierte Laufwerkskonfiguration angeben, um das Bootlaufwerk oder zusätzliche Laufwerke zu überschreiben, die in den Instanzattributen angegeben sind, oder um einen bestimmten Speicher anzuhängen. Mit dieser Überschreibung können Sie Maschinentypen mit unterschiedlichen Architekturen oder solche, die keine gemeinsamen Laufwerkstechnologien verwenden, kombinieren und die entsprechenden Boot-Images oder Laufwerke angeben, die für jeden Maschinentyp erforderlich sind.

    Sie können beispielsweise die Maschinentypen C4 (x86-Architektur) und C4A (Arm-Architektur) kombinieren. Da für x86- und Arm-Maschinen unterschiedliche Boot-Images erforderlich sind, können Sie separate Instanzauswahlen verwenden, um das Bootlaufwerk für jede Architektur zu überschreiben.

    Wenn Sie die Laufwerke für eine Instanzauswahl angeben, führt die MIG die Laufwerke in der Instanzvorlage und in der Instanzauswahl anhand ihrer deviceName-Schlüssel zusammen. Das folgende Diagramm zeigt ein Beispiel.

    Laufwerke aus der Instanzvorlage und der Instanzauswahl werden zusammengeführt

Informationen zu den Einschränkungen bei der Verwendung von Überschreibungen durch Instanzauswahlen finden Sie im Abschnitt Beschränkungen in diesem Dokument.

Beispiel für Überschreibungen von Mindest-CPU-Plattform und Laufwerk

Stellen Sie sich eine Instanzvorlage mit der folgenden Konfiguration vor:

  {
    ...
      "disks": [
        {
          "autoDelete": true,
          "deviceName": "boot",
          "boot": true,
          "diskEncryptionKey": {},
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
            "diskSizeGb": "10",
            "diskType": "pd-balanced"
          }
        }
      ],
      "machineType": "n2-standard-2",
      ...
    }
  

Im folgenden Beispiel für eine Richtlinie für Instanzflexibilität wird die Vorlagenkonfiguration überschrieben, indem eine Mindest-CPU-Plattform und eine Laufwerkskonfiguration angegeben werden.

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "first-preference": {
        "rank": 1,
        "machineTypes": ["n4-standard-4 "],
        "disks": [
          {
            "autoDelete": true,
            "deviceName": "boot",
            "boot": true,
            "diskEncryptionKey": {},
            "initializeParams": {
              "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
              "diskSizeGb": "10",
              "diskType": "hyperdisk-balanced"
            }
          }
        ]
      },
      "second-preference": {
        "rank": 2,
        "machineTypes": ["n2-standard-4"],
        "minCpuPlatform": "Intel Ice Lake",
        "disks": [
          {
            "autoDelete": true,
            "deviceName": "boot",
            "boot": true,
            "initializeParams": {
              "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
              "diskSizeGb": "10",
              "diskType": "pd-ssd"
            }
          }
        ]
      },
      "third-preference": {
        "rank": 3,
        "machineTypes": ["n1-standard-4"],
        "minCpuPlatform": "Intel Skylake",
      }
    }
  }
  

Auswahl von Maschinentypen durch eine MIG

Wenn Sie mehrere Maschinentypen konfigurieren, wählt die MIG einen Maschinentyp basierend auf der aktuellen Ressourcenverfügbarkeit aus und priorisiert nicht verwendete Reservierungen. Wenn Sie Ränge konfiguriert haben, berücksichtigt die MIG zuerst Ihre Präferenzreihenfolge. Innerhalb einer Instanzauswahl mit Rang prüft die MIG dann die Ressourcenverfügbarkeit und anschließend die Reservierungen.

Die Zonen in der Region der MIG können sich auch auf die Auswahl des Maschinentyps auswirken, da die Ressourcenverfügbarkeit je nach Zone variiert. Weitere Informationen finden Sie im folgenden Abschnitt zur Auswahl von Zonen durch eine MIG.

Auswahl von Zonen durch eine MIG

Sie können die Instanzflexibilität in einer regionalen MIG konfigurieren, die die Zielverteilungsform BALANCED, ANY oder ANY_SINGLE_ZONE hat. Die Instanzflexibilität unterstützt die Zielverteilungsform EVEN nicht.

Wenn eine regionale MIG mit Instanzflexibilität eine VM erstellt, wählt die MIG je nach ausgewählter Zielverteilungsform eine Zone wie folgt aus:

  • BALANCED: Die MIG wählt eine Zone mit verfügbaren Ressourcen aus, die die VM-Verteilung auf die Zonen so gleichmäßig wie möglich ausgleichen kann. Innerhalb einer ausgewählten Zone priorisiert die MIG Maschinentypen basierend auf Rängen (falls konfiguriert) und verfügbaren Reservierungen.

  • ANY: Die MIG wählt eine Zone mit verfügbaren Ressourcen und Reservierungen aus. Wenn Ränge konfiguriert sind, priorisiert die MIG die Zone, in der ein Maschinentyp basierend auf Rängen verfügbar ist.

  • ANY_SINGLE_ZONE: Die MIG wählt eine Zone aus, die die meisten Maschinentypen basierend auf den Rängen (falls konfiguriert) enthält und in der die MIG die meisten VMs aus nicht verwendeten Reservierungen erstellen kann.

Weitere Informationen zur Funktionsweise einer Zielverteilungsform finden Sie unter Zielverteilungsform regionaler MIGs.

Instanzflexibilität und Reservierungen

Sie können die Instanzflexibilität mit Reservierungen verwenden. Basierend auf dem in der Instanzvorlage festgelegten Attribut für die Reservierungsaffinität verwendet eine MIG Reservierungen wie folgt:

  • ANY_RESERVATION (empfohlen für die Instanzflexibilität): Bei Verwendung einer beliebigen Reservierung wählt die MIG zuerst den Maschinentyp mit nicht verwendeter Reservierung aus. Wenn Sie die Reihenfolge ändern möchten, in der die MIG Maschinentypen auswählt, können Sie mehrere Instanzauswahlen konfigurieren und Ihre Präferenz mit Rängen angeben. Die MIG berücksichtigt dann zuerst die Ränge und dann die verfügbaren Reservierungen für die Maschinentypen innerhalb eines Rangs.

  • SPECIFIC: Bei Verwendung einer bestimmten Reservierung wählt die MIG den Maschinentyp aus, der den Reservierungsattributen entspricht. Wenn Ihre Instanzauswahlen nicht den Maschinentyp enthalten, der den Attributen der bestimmten Reservierung entspricht, schlägt die Instanzerstellung fehl.

Weitere Informationen zu Reservierungen finden Sie unter Reservierungen.

Instanzflexibilität und Spot-VMs

Wenn Ihre MIG mit Instanzflexibilität Spot-VMs verwendet, wählt die MIG automatisch einen Maschinentyp mit der niedrigsten beobachteten Präemptionsrate aus, um die Unterbrechungen für Ihre Arbeitslast zu minimieren. Wenn Sie dieses Verhalten überschreiben möchten, können Sie mehrere Instanzauswahlen konfigurieren und Ihre Präferenz mit Rängen angeben. Die MIG berücksichtigt dann zuerst die Präferenzreihenfolge und dann die Zuverlässigkeit der Spot-VMs innerhalb einer Instanzauswahl.

Weitere Informationen zu Spot-VMs finden Sie unter Spot-VMs in einer verwalteten Instanzgruppe.

Instanzflexibilität und VM-Reparaturen

Wenn eine VM in einer MIG ausfällt, repariert die MIG die VM standardmäßig, indem sie sie mit derselben Konfiguration, einschließlich des Maschinentyps, neu erstellt. Wenn Sie die Instanzflexibilität konfigurieren und Updates während der Reparatur aktivieren, können Sie die Chancen erhöhen, Ressourcen zu erhalten, wenn ein Engpass auftritt. Wenn eine MIG versucht, eine VM neu zu erstellen, und der ursprüngliche Maschinentyp der VM nicht verfügbar ist, wird ein Engpassfehler angezeigt. Wenn Updates während der Reparatur aktiviert sind, verwendet die MIG Ihre angegebenen Instanzauswahlen und die aktuelle Verfügbarkeit, um einen anderen Maschinentyp für die VM-Erstellung auszuwählen. Durch das Aktivieren von Updates während der Reparatur wird auch sichergestellt, dass die neu erstellte VM die neueste Konfiguration für die Instanzflexibilität verwendet.

Weitere Informationen zu Reparaturen finden Sie unter VMs für hohe Verfügbarkeit reparieren.

Instanzflexibilität und Autoscaling

Wenn Sie Autoscaling in einer MIG mit mehreren Maschinentypen konfigurieren, geschieht Folgendes:

  • Wenn ein Autoscaler eine MIG hochskaliert, erstellt die MIG VMs, indem sie Maschinentypen auf dieselbe Weise auswählt wie in einer nicht automatisch skalierten MIG. Weitere Informationen finden Sie unter Auswahl von Maschinentypen durch eine MIG in diesem Dokument.

  • Wenn ein Autoscaler eine MIG herunterskaliert, wählt die MIG die zu löschenden VMs wie folgt aus:

    1. Die MIG priorisiert zuerst das Löschen von VMs, die die Zielverteilungsform am besten beibehalten.
    2. Wenn Sie Ränge konfiguriert haben, priorisiert die MIG unter den priorisierten VMs das Löschen von VMs, die Maschinentypen mit niedrigerem Rang verwenden.
    3. Schließlich prüft die MIG die Empfehlung des Autoscalers um die zu löschenden VMs auszuwählen.

Autoscaling funktioniert effektiv, wenn Ihre MIG Maschinentypen mit ähnlicher Leistung hat, z. B. Maschinen mit derselben Anzahl von vCPUs. Andernfalls versucht der Autoscaler möglicherweise häufiger, den leistungsstärksten Maschinentyp hinzuzufügen oder zu entfernen, wenn die MIG hoch- oder herunterskaliert wird. Dieses Verhalten kann unabhängig vom Rang auftreten, den Sie für diesen Maschinentyp konfiguriert haben.

Weitere Informationen zum Autoscaling finden Sie unter Autoscaling von Instanzgruppen.

Anwendungsfälle

In den folgenden Abschnitten werden einige Anwendungsfälle für die Instanzflexibilität in MIGs beschrieben.

Kostenoptimierung

Eine MIG kann automatisch die kostengünstigsten Instanzen für Ihre Infrastruktur bereitstellen, wenn Sie die Einstellungen für die Instanzflexibilität Ihrer MIG wie folgt konfigurieren:

  • Maschinentypen: Wählen Sie die Maschinentypen aus, die das bevorzugte Kosten-Leistungs-Verhältnis für Ihre Arbeitslast bieten. Sie müssen nicht alle verfügbaren Größen der einzelnen Maschinentypen angeben, sondern nur die Größen, die für Ihre Anforderungen am kostengünstigsten sind.

  • Rang: Weisen Sie Instanzauswahlen Ränge entsprechend Ihren Kostenpräferenzen zu, wobei der kostengünstigste Maschinentyp am meisten bevorzugt wird. So erhalten Sie basierend auf der Verfügbarkeit den kostengünstigsten Maschinentyp.

  • Standort: Wählen Sie beim Erstellen der MIG alle Zonen und die Zielverteilungsform ANY aus. Dadurch erhöhen sich die Chancen, die kostengünstigsten Maschinentypen in Zonen zu erhalten, in denen sie verfügbar sind.

Basierend auf Ihren Einstellungen für die Instanzflexibilität stellt die MIG automatisch die bestmögliche Kombination aus verfügbaren Maschinentypen bereit, um Ihre Kostenkriterien und die angeforderte Gesamtkapazität zu erfüllen. So werden die Kosten zu einem bestimmten Zeitpunkt so niedrig wie möglich gehalten.

Verfügbarkeit verbessern

Sie können die Instanzflexibilität der MIG konfigurieren, um die Verfügbarkeit zu verbessern. Wählen Sie dazu so viele Maschinentypen wie möglich aus, die mit Ihrer Anwendung kompatibel sind und denselben Rang haben. Sie können die Wahrscheinlichkeit, die Ressourcen zu erhalten, weiter erhöhen, indem Sie beim Erstellen der MIG alle Zonen auswählen und die Zielverteilungsform ANY verwenden, die Zonen priorisiert, in denen Ressourcen verfügbar sind. Basierend auf den ausgewählten Maschinentypen und der Form ANY findet die MIG Kapazität dort, wo sie am besten verfügbar ist.

Um die Chancen zu maximieren, Spot-VMs zu erwerben, und die Wahrscheinlichkeit von Präemptionen zu verringern, empfiehlt Google, eine breite Palette von Maschinentypen mit demselben Rang einzubeziehen. Dadurch wird die Suche der MIG nach verfügbarer Kapazität erweitert, was zu den bestmöglichen Ergebnissen mit dem Spot-Bereitstellungsmodell führt.

Leistung maximieren

Sie können die Instanzflexibilität der MIG konfigurieren, um die Leistung zu maximieren. Wählen Sie dazu Maschinenfamilien und ‑größen aus, die am besten für Ihre Arbeitslast geeignet sind. Ordnen Sie die Maschinentypen dann nach Leistung, von der höchsten zur niedrigsten, und verwenden Sie dabei die bevorzugte Größe innerhalb jeder Familie. Basierend auf dem Ranking und den Maschinentypen wählt die MIG die leistungsstärksten Maschinen aus allen verfügbaren Ressourcen aus.

Wenn Sie außerdem eine minCpuPlatform für die Instanzauswahl angeben, kann die MIG eine leistungsstarke CPU-Plattform auswählen.

Nahtloser Übergang zu den neuesten Maschinentypen

Sie können die Instanzflexibilität der MIG so konfigurieren, dass die Einführung von Maschinentypen der neuesten Generation priorisiert wird, während Maschinentypen älterer Generation als Fallback für die Kapazität verwendet werden. Erstellen Sie dazu eine Instanzauswahl mit den Maschinentypen der neuesten Generation und weisen Sie ihr einen niedrigeren Rang (höhere Präferenz) zu. Wenn für diese Maschinentypen unterschiedliche Laufwerkskonfigurationen erforderlich sind, verwenden Sie die Laufwerksüberschreibungen in dieser Instanzauswahl, um die spezifischen Laufwerkseigenschaften zu definieren. Erstellen Sie eine zweite Instanzauswahl mit den Maschinentypen älterer Generation, die als Fallback dienen soll. Weisen Sie dieser Instanzauswahl einen höheren Rang (niedrigere Präferenz) zu.

Wählen Sie beim Erstellen der MIG alle Zonen in der Region und die Zielverteilungsform ANY aus. Diese Konfiguration sorgt dafür, dass die MIG zuerst in allen Zonen der Region nach Maschinen der neuesten Generation sucht. Die MIG stellt nur Maschinen älterer Generation bereit, wenn sie nicht genügend Kapazität der neuesten Generation findet. So wird sichergestellt, dass Ihre angeforderte Gesamtkapazität immer erreicht wird, während der Anteil der neuesten Hardware maximiert wird.

Beschränkungen

Für die Instanzflexibilität gelten die folgenden Einschränkungen:

  • Die Instanzflexibilität wird in zonalen MIGs nicht unterstützt. Stattdessen können Sie eine regionale MIG mit einer einzelnen Zone verwenden.

  • Die Instanzflexibilität unterstützt die folgenden MIG-Funktionen nicht:

  • Beim Überschreiben von minCpuPlatform und disks gelten außerdem die folgenden Einschränkungen:

    • Sie müssen Updates während der Reparatur aktivieren.

    • Wenn Sie minCpuPlatform oder disks für eine vorhandene Instanzauswahl konfigurieren, müssen Sie auch das Feld machineTypes einfügen. Ohne das Feld machineTypes schlägt der Vorgang mit einem Fehler fehl.

    • Sie können keine zustandsorientierte Richtlinie oder instanzspezifische Konfiguration auf Laufwerke anwenden, die durch eine Instanzauswahl überschrieben wurden.

    • Sie können lokale SSDs nur für die Maschinentypen überschreiben, bei denen Sie eine bestimmte Anzahl von lokalen SSD-Laufwerken auswählen können. Sie können lokale SSDs nicht für -lssd Varianten von Maschinentypen, bei denen automatisch lokale SSD-Laufwerke angehängt werden.

    • Sie müssen für alle Instanzauswahlen einen eindeutigen Maschinentyp angeben. Sie können beispielsweise n1-standard-2 nicht in einer Auswahl mit einer Skylake-CPU und in einer anderen Auswahl mit einer Broadwell-CPU angeben.

  • Um ein effektives Load-Balancing oder Autoscaling in einer MIG mit Instanz flexibilität zu gewährleisten, verwenden Sie Maschinentypen mit ähnlicher Leistung, z. B. mit der selben Anzahl von vCPUs.

    • In Cloud Load Balancing, Maschinentypen mit ähnlicher Leistung können eine Überlastung kleinerer Hardware und eine Unterauslastung schnellerer Maschinen verhindern.

    • Beim Autoscaling können Maschinentypen mit ähnlicher Leistung verhindern, dass der leistungsstärkste Maschinentyp hinzugefügt oder gelöscht wird.

Nächste Schritte