Een virtuele-machineschaalset koppelen aan een capaciteitsreserveringsgroep (preview)

Virtual Machine Scale Sets twee modi hebben:

  • Modus uniform orchestration: In deze modus gebruiken virtuele-machineschaalsets een VM-profiel of een sjabloon om omhoog te schalen naar de gewenste capaciteit. Hoewel er een mogelijkheid is om afzonderlijke VM-exemplaren te beheren of aan te passen, maakt Uniform gebruik van identieke VM-exemplaren. Deze exemplaren worden beschikbaar gemaakt via de VM-API's van virtuele-machineschaalsets en zijn niet compatibel met de standaardopdrachten van de Azure IaaS VM-API. Omdat de schaalset alle daadwerkelijke VM-bewerkingen uitvoert, worden reserveringen rechtstreeks aan de virtuele-machineschaalset gekoppeld. Zodra de schaalset aan de reservering is gekoppeld, worden alle volgende VM-toewijzingen uitgevoerd op de reservering.
  • Flexibele orchestration-modus: In deze modus krijgt u meer flexibiliteit bij het beheren van de afzonderlijke VM-exemplaren van virtuele-machineschaalsets, omdat ze de standaard Azure IaaS VM-API's kunnen gebruiken in plaats van de schaalsetinterface te gebruiken. Deze modus werkt niet met capaciteitsreservering tijdens de openbare preview.

Ga voor meer informatie over deze modi naar Virtual Machine Scale Sets Orchestration Modes. In de rest van dit artikel wordt beschreven hoe u een uniforme virtuele-machineschaalset koppelt aan een capaciteitsreserveringsgroep.

Belangrijk

Capaciteitsreservering is momenteel beschikbaar als openbare preview. Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Beperkingen van schaalsets in Uniform Orchestration

  • Als Virtual Machine Scale Sets uniform orchestration compatibel wilt zijn met capaciteitsreservering, moet de eigenschap singlePlacementGroup worden ingesteld op False.
  • De optie Statische vaste verspreiding van beschikbaarheid voor uniform schaalsets met meerdere zones wordt niet ondersteund met Capaciteitsreservering. Voor deze optie is het gebruik van vijf foutdomeinen vereist, terwijl de reserveringen maximaal 3 foutdomeinen ondersteunen voor algemene doeleinden. De aanbevolen aanpak is om de optie Maximale verspreiding te gebruiken die VM's verspreidt over zoveel mogelijk FD's binnen elke zone. Configureer zo nodig een aangepaste foutdomeinconfiguratie van 3 of minder.

Er zijn enkele andere beperkingen tijdens het gebruik van capaciteitsreservering. Raadpleeg het overzicht van Capaciteitsreserveringen voor de volledige lijst.

Een nieuwe virtuele-machineschaalset koppelen aan een capaciteitsreserveringsgroep

Als u een nieuwe uniforme virtuele-machineschaalset wilt koppelen aan een capaciteitsreserveringsgroep, stelt u de volgende PUT-aanvraag op bij de Microsoft.Compute-provider:

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

Voeg de capacityReservationGroup eigenschap toe aan de zoals hieronder wordt virtualMachineProfile weergegeven:

{ 
    "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": { 
                … 
            } 
        } 
    } 

Een bestaande virtuele-machineschaalset koppelen aan capaciteitsreserveringsgroep

Als u een bestaande uniforme virtuele-machineschaalset wilt koppelen aan de capaciteitsreserveringsgroep, moet u eerst de toewijzing van de schaalset in de openbare preview-versie in de openbaarheid brengen en vervolgens de associatie op het moment van de nieuwe toewijzing maken. Dit zorgt ervoor dat alle schaalset-VM's capaciteitsreservering gebruiken op het moment van de nieuwe toewijzing.

Belangrijke opmerkingen over upgradebeleid

  • Automatische upgrade: in deze modus worden de VM-exemplaren van de schaalset automatisch gekoppeld aan de capaciteitsreserveringsgroep zonder verdere actie van u. Wanneer de VM's van de schaalset opnieuw worden toegewezen, gaan ze de gereserveerde capaciteit gebruiken.
  • Rolling upgrade: in deze modus worden VM-exemplaren van schaalsets gekoppeld aan de capaciteitsreserveringsgroep zonder verdere actie van u. Ze worden echter in batches bijgewerkt met een optionele onderbrekingstijd ertussen. Wanneer de VM's van de schaalset opnieuw worden toegewezen, gaan ze de gereserveerde capaciteit gebruiken.
  • Handmatige upgrade: in deze modus gebeurt er niets met de VM-exemplaren van de schaalset wanneer de virtuele-machineschaalset is gekoppeld aan een capaciteitsreserveringsgroep. U moet afzonderlijke updates uitvoeren voor elke schaalset-VM door deze bij te werken met het meest recente schaalsetmodel.
  1. De toewijzing van de virtuele-machineschaalset wordt niet meer toegewezen.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/deallocate?api-version=2021-04-01
    
  2. Voeg de capacityReservationGroup eigenschap toe aan het schaalsetmodel. Bouw de volgende PUT-aanvraag naar de Microsoft.Compute-provider:

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

    Neem in de aanvraag body de eigenschap capacityReservationGroup op:

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

Virtuele-machineschaalset-associatie met exemplaarweergave weergeven

Zodra de uniform virtuele-machineschaalset is gekoppeld aan de capaciteitsreserveringsgroep, worden alle volgende VM-toewijzingen voor de capaciteitsreservering gebruikt. Azure vindt automatisch de overeenkomende capaciteitsreservering in de groep en verbruikt een gereserveerde sleuf.

De weergave Instantie van capaciteitsreserveringsgroep weerspiegelt de nieuwe schaalset-VM's onder virtualMachinesAssociated & virtualMachinesAllocated de eigenschappen, zoals hieronder wordt weergegeven:

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" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

Overwegingen voor regio Beschikbaarheidszones en regio's

Virtuele-machineschaalsets kunnen regionaal of in een of meer Beschikbaarheidszones om ze te beschermen tegen storingen op datacenterniveau. Meer informatie over schaalsets voor virtuele machines met meerdere omgevingen raadpleegt u Virtual Machine Scale Sets die gebruikmaken van Beschikbaarheidszones.

Belangrijk

De locatie (Regio en Beschikbaarheidszones) van de virtuele-machineschaalset en de capaciteitsreserveringsgroep moeten overeenkomen om de associatie te laten slagen. Voor een regionale schaalset moet de regio overeenkomen tussen de schaalset en de capaciteitsreserveringsgroep. Voor een zonelijke schaalset moeten zowel de regio's als de zones overeenkomen tussen de schaalset en de capaciteitsreserveringsgroep.

Wanneer een schaalset is verdeeld over meerdere zones, probeert deze altijd gelijkmatig te implementeren in de opgenomen Beschikbaarheidszones. Vanwege die gelijkmatige implementatie moet een capaciteitsreserveringsgroep altijd dezelfde hoeveelheid gereserveerde VM's in elke zone hebben. Bekijk het onderstaande voorbeeld ter illustratie van waarom dit belangrijk is.

In dit voorbeeld heeft elke zone een andere gereserveerde hoeveelheid. Stel dat de virtuele-machineschaalset wordt geschaald naar 75 exemplaren. Aangezien de schaalset altijd gelijkmatig probeert te implementeren in zones, moet de VM-distributie er als volgende uitzien:

Zone Gereserveerde hoeveelheid Nee. van schaalset-VM's in elke zone Niet-gebruikte hoeveelheid gereserveerd Overbezet
1 40 25 15 0
2 20 25 0 5
3 15 25 0 10

In dit geval worden er extra kosten in de schaalset voor 15 ongebruikte exemplaren in Zone 1. De uitschaal is ook afhankelijk van vijf VM's in Zone 2 en 10 VM's in Zone 3 die niet worden beveiligd door capaciteitsreservering. Als voor elke zone 25 capaciteits instances zijn gereserveerd, worden alle 75 VM's beveiligd door Capaciteitsreservering en worden er voor de implementatie geen extra kosten in het geval van ongebruikte instanties in gemaakt.

Omdat de reserveringen algemeen kunnen worden gebruikt, kan de schaalset normaal blijven schalen buiten de limieten van de reservering. Het enige verschil is dat de VM's die zijn toegewezen boven de gereserveerde hoeveelheid, niet worden gedekt door de SLA voor capaciteitsreservering. Ga naar Overallocating Capacity Reservation voor meer informatie.

Volgende stappen