Zuordnen einer VM-Skalierungsgruppe mit einheitlicher Orchestrierung zu einer Kapazitätsreservierungsgruppe

Gilt für: ✔️ Einheitliche Skalierungsgruppe

VM-Skalierungsgruppen weisen zwei Modi auf:

  • Einheitlicher Orchestrierungsmodus: In diesem Modus verwenden VM-Skalierungsgruppen ein VM-Profil oder eine Vorlage, um auf die gewünschte Kapazität hochskaliert zu werden. Einzelne VM-Instanzen können zwar bis zu einem gewissen Maße verwaltet oder angepasst werden, aber im Modus „Einheitlich“ werden identische VM-Instanzen verwendet. Diese Instanzen werden über die VM-APIs der VM-Skalierungsgruppen zur Verfügung gestellt und sind nicht mit den VM-API-Standardbefehlen von Azure IaaS kompatibel. Da die Skalierungsgruppe alle eigentlichen VM-Vorgänge ausführt, werden Reservierungen direkt der VM-Skalierungsgruppe zugeordnet. Sobald die Skalierungsgruppe der Reservierung zugeordnet ist, werden alle nachfolgenden VM-Zuordnungen anhand der Reservierung durchgeführt.
  • Flexibler Orchestrierungsmodus: In diesem Modus erhalten Sie mehr Flexibilität beim Verwalten der einzelnen VM-Instanzen der VM-Skalierungsgruppe, da diese die VM-Standard-APIs von Azure IaaS anstelle der Skalierungsgruppenschnittstelle verwenden können. Um Reservierungen mit dem flexiblen Orchestrierungsmodus zu verwenden, definieren Sie sowohl die VM-Skalierungsgruppeneigenschaft als auch die Kapazitätsreservierungseigenschaft auf jedem virtuellen Computer.

Weitere Informationen zu diesen Modi finden Sie unter Orchestrierungsmodi für VM-Skalierungsgruppen.

Dieser Inhalt gilt für den Orchestrierungsmodus „Einheitlich“. Informationen zum flexiblen Orchestrierungsmodus finden Sie unter Zuordnen einer VM-Skalierungsgruppe mit flexibler Orchestrierung zu einer Kapazitätsreservierungsgruppe.

Einschränkungen von Skalierungsgruppen in einer einheitlichen Orchestrierung

  • Damit VM-Skalierungsgruppen in einer einheitlichen Orchestrierung mit der Kapazitätsreservierung kompatibel sind, muss die singlePlacementGroup-Eigenschaft auf FALSE festgelegt werden.
  • Die Verfügbarkeitsoption Statische feste Verteilung für einheitliche Skalierungsgruppen mit mehreren Zonen wird bei der Kapazitätsreservierung nicht unterstützt. Diese Option erfordert die Verwendung von 5 Fehlerdomänen, während die Reservierungen nur bis zu 3 Fehlerdomänen für universelle Größen unterstützen. Es wird empfohlen, die Option Max. Verteilung zu verwenden, die VMs innerhalb jeder Zone auf so viele FDs wie möglich verteilt. Konfigurieren Sie bei Bedarf eine benutzerdefinierte Fehlerdomänenkonfiguration von 3 oder weniger Fehlerdomänen.

Bei Verwendung der Kapazitätsreservierung gelten einige weitere Einschränkungen. Die vollständige Liste finden Sie in der Übersicht über Kapazitätsreservierungen.

Zuordnen einer neuen VM-Skalierungsgruppe zu einer Kapazitätsreservierungsgruppe

Wichtig

Ab November 2023 werden VM-Skalierungsgruppen, die mit PowerShell und der Azure CLI erstellt wurden, standardmäßig auf den flexiblen Orchestrierungsmodus festgelegt, wenn kein Orchestrierungsmodus angegeben wird. Weitere Informationen zu dieser Änderung und zu den Maßnahmen, die Sie ergreifen sollten, finden Sie unter Breaking Change für PowerShell-/CLI-Kunden mit VMSS – Microsoft Community Hub.

Erstellen Sie die folgende PUT-Anforderung an den Microsoft.Compute-Anbieter, um einer Kapazitätsreservierungsgruppe eine neue einheitliche VM-Skalierungsgruppe zuzuordnen:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01

Fügen Sie die capacityReservationGroup-Eigenschaft in der virtualMachineProfile-Eigenschaft hinzu:

{ 
    "name": "<VMScaleSetName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}", 
    "type": "Microsoft.Compute/virtualMachineScaleSets", 
    "location": "eastus", 
    "sku": { 
        "name": "Standard_D2s_v3", 
        "tier": "Standard", 
        "capacity": 3 
}, 
"properties": { 
    "virtualMachineProfile": { 
        "capacityReservation": { 
            "capacityReservationGroup":{ 
                "id":"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroup/{CapacityReservationGroupName}" 
            } 
         }, 
        "osProfile": { 
            … 
        }, 
        "storageProfile": { 
            … 
        }, 
        "networkProfile": { 
            …,
            "extensionProfile": { 
                … 
            } 
        } 
    } 

Zuordnen einer vorhandenen VM-Skalierungsgruppe zu einer Kapazitätsreservierungsgruppe

So fügen Sie einer vorhandenen einheitlichen Skalierungsgruppe eine vorhandene Kapazitätsreservierungsgruppe hinzu:

  • Beenden Sie die Skalierungsgruppe, um die Zuordnung der VM-Instanzen aufzuheben.
  • Aktualisieren Sie die Skalierungsgruppe, um eine entsprechende Kapazitätsreservierungsgruppe zu verwenden.
  • Starten Sie die Skalierungsgruppe.

Auf diese Weise wird sichergestellt, dass die Platzierungen für die Kapazitätsreservierungen und die Skalierungsgruppe in der Region kompatibel sind.

Wichtige Hinweise zu Upgraderichtlinien

  • Automatisches Upgrade: In diesem Modus werden die VM-Instanzen der Skalierungsgruppe der Kapazitätsreservierungsgruppe ohne weitere Maßnahmen automatisch zugeordnet. Wenn die VMs der Skalierungsgruppe erneut zugewiesen werden, beginnen sie, die reservierte Kapazität zu nutzen.
  • Paralleles Upgrade: In diesem Modus werden die VM-Instanzen der Skalierungsgruppe der Kapazitätsreservierungsgruppe ohne weitere Maßnahmen zugeordnet. Sie werden jedoch in Batches mit einer dazwischen liegenden optionalen Pausenzeit aktualisiert. Wenn die VMs der Skalierungsgruppe erneut zugewiesen werden, beginnen sie, die reservierte Kapazität zu nutzen.
  • Manuelles Upgrade: In diesem Modus geschieht nichts mit den VM-Instanzen der Skalierung gruppe, wenn die VM-Skalierungsgruppe an eine Kapazitätsreservierungsgruppe angefügt wird. Sie müssen jede VM-Skalierungsgruppe aktualisieren, indem Sie sie mit dem neuesten Skalierungsgruppenmodell aktualisieren.
  1. Heben Sie die Zuordnung der VM-Skalierungsgruppe auf.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/deallocate?api-version=2021-04-01
    
  2. Fügen Sie die capacityReservationGroup-Eigenschaft dem Skalierungsgruppenmodell hinzu. Erstellen Sie die folgende PUT-Anforderung an den Microsoft.Compute-Anbieter:

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01
    

    Fügen Sie die capacityReservationGroup-Eigenschaft in den Anforderungstext ein:

    "location": "eastus",
    "properties": {
        "virtualMachineProfile": {
             "capacityReservation": {
                      "capacityReservationGroup": {
                            "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}"
                      }
                }
        }
    }
    

Anzeigen der Zuordnung der VM-Skalierungsgruppe mit der Instanzansicht

Sobald die einheitliche VM-Skalierungsgruppe der Kapazitätsreservierungsgruppe zugeordnet wurde, werden alle nachfolgenden VM-Zuordnungen anhand der Kapazitätsreservierung ausgeführt. Azure findet automatisch die entsprechende Kapazitätsreservierung in der Gruppe und nutzt einen reservierten Slot.

Die Instanzansicht der Kapazitätsreservierung spiegelt die neuen VMs der Skalierungsgruppe in den Eigenschaften virtualMachinesAssociated und virtualMachinesAllocated wider:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?$expand=instanceview&api-version=2021-04-01 
{ 
    "name": "<CapacityReservationGroupName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus" 
}, 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{CapacityReservationName}" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "<CapacityReservationName>", 
                    "utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
                            } 
                        ] 
                    },
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "2021-05-25T15:12:10.4165243+00:00" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

Überlegungen zur Region und zu Verfügbarkeitszonen

VM-Skalierungsgruppen können regional oder in mindestens einer Verfügbarkeitszone erstellt werden, um sie vor Ausfällen auf Rechenzentrumsebene zu schützen. Weitere Informationen zu VM-Skalierungsgruppen mit mehreren Zonen finden Sie unter VM-Skalierungsgruppen, die Verfügbarkeitszonen verwenden.

Wichtig

Der Standort (Region und Verfügbarkeitszonen) der VM-Skalierungsgruppe und der Kapazitätsreservierungsgruppe muss übereinstimmen, damit die Zuordnung erfolgreich ist. Bei einer regionalen Skalierungsgruppe muss die Region der Skalierungsgruppe mit der Region der Kapazitätsreservierungsgruppe übereinstimmen. Bei einer zonalen Skalierungsgruppe müssen die Region und die Zonen der Skalierungsgruppe mit der Region und den Zonen der Kapazitätsreservierungsgruppe übereinstimmen.

Wenn eine Skalierungsgruppe auf mehrere Zonen verteilt ist, wird immer versucht, eine gleichmäßige Bereitstellung über die enthaltenen Verfügbarkeitszonen zu erzielen. Aufgrund dieser gleichmäßigen Bereitstellung sollte eine Kapazitätsreservierungsgruppe immer die gleiche Anzahl reservierter VMs in jeder Zone haben. Um zu verdeutlichen, warum dies wichtig ist, sehen Sie sich das folgende Beispiel an.

In diesem Beispiel ist für jede Zone eine andere Anzahl von VMs reserviert. Angenommen, die Skalierungsgruppe wird auf 75 Instanzen aufskaliert. Da die Skalierungsgruppe immer versucht, eine gleichmäßige Verteilung auf die Zonen vorzunehmen, sollte die VM-Verteilung wie folgt aussehen:

Zone Reservierte Anzahl Nein. Skalierungsgruppen-VMs in jeder Zone Nicht verwendete reservierte Anzahl Überlastet
1 40 25 15 0
2 20 25 0 5
3 15 25 0 10

In diesem Fall fallen für die Skalierungsgruppe zusätzliche Kosten für 15 nicht verwendete Instanzen in Zone 1 an. Die horizontale Skalierung verwendet ebenfalls 5 VMs in Zone 2 und 10 VMs in Zone 3, die nicht durch Kapazitätsreservierung geschützt sind. Wenn für jede Zone 25 Kapazitätsinstanzen reserviert sind, werden alle 75 VMs durch Kapazitätsreservierung geschützt, und für die Bereitstellung fallen keine zusätzlichen Kosten für nicht verwendete Instanzen an.

Da die Reservierungen überlastet werden können, kann die Skalierungsgruppe weiterhin normal über die Grenzen der Reservierung hinaus skaliert werden. Der einzige Unterschied besteht darin, dass die VMs, die über der reservierten Menge liegen, nicht durch die SLA für Kapazitätsreservierungen abgedeckt werden. Weitere Informationen finden Sie unter Überlasten der Kapazitätsreservierung.

Nächste Schritte