Associare un set di scalabilità di macchine virtuali all'orchestrazione uniforme a un gruppo di prenotazioni di capacità

Si applica a: ✔️ Set di scalabilità uniforme

set di scalabilità di macchine virtuali hanno due modalità:

  • Modalità di orchestrazione uniforme: in questa modalità, set di scalabilità di macchine virtuali usare un profilo di macchina virtuale o un modello per aumentare la capacità desiderata. Sebbene sia possibile gestire o personalizzare singole istanze di macchina virtuale, Uniform usa istanze di macchina virtuale identiche. Queste istanze vengono esposte tramite le API della macchina virtuale set di scalabilità di macchine virtuali e non sono compatibili con i comandi standard dell'API della macchina virtuale IaaS di Azure. Poiché il set di scalabilità esegue tutte le operazioni effettive della macchina virtuale, le prenotazioni sono associate direttamente al set di scalabilità di macchine virtuali. Dopo che il set di scalabilità è associato alla prenotazione, tutte le allocazioni di macchine virtuali successive vengono eseguite sulla prenotazione.
  • Modalità di orchestrazione flessibile: in questa modalità si ottiene una maggiore flessibilità nella gestione delle singole istanze di macchine virtuali del set di scalabilità di macchine virtuali perché possono usare le API di macchine virtuali IaaS di Azure standard anziché usare l'interfaccia del set di scalabilità. Per usare prenotazioni con modalità di orchestrazione flessibile, definire sia la proprietà Set di scalabilità di macchine virtuali che la proprietà della prenotazione della capacità in ogni macchina virtuale.

Per altre informazioni su queste modalità, vedere set di scalabilità di macchine virtuali Modalità di orchestrazione.

Questo contenuto si applica alla modalità di orchestrazione uniforme. Per la modalità di orchestrazione flessibile, passare a Associare un set di scalabilità di macchine virtuali con orchestrazione flessibile a un gruppo di prenotazioni di capacità

Limitazioni dei set di scalabilità nell'orchestrazione uniforme

  • Affinché set di scalabilità di macchine virtuali nell'orchestrazione uniforme sia compatibile con Capacity Reservation, la singlePlacementGroup proprietà deve essere impostata su False.
  • L'opzione di disponibilità distribuzione fissa statica per i set di scalabilità uniformi a più zone non è supportata con la prenotazione della capacità. Questa opzione richiede l'uso di 5 domini di errore, mentre le prenotazioni supportano solo fino a 3 domini di errore per le dimensioni per utilizzo generico. L'approccio consigliato consiste nell'usare l'opzione Distribuimento massimo che distribuisce le macchine virtuali tra il maggior numero possibile di domini di dominio all'interno di ogni zona. Se necessario, configurare una configurazione personalizzata del dominio di errore pari o inferiore a 3.

Esistono altre restrizioni durante l'uso della prenotazione della capacità. Per l'elenco completo, vedere Panoramica delle prenotazioni di capacità.

Associare un nuovo set di scalabilità di macchine virtuali a un gruppo di prenotazioni di capacità

Importante

A partire da novembre 2023, i set di scalabilità di macchine virtuali creati con PowerShell e l'interfaccia della riga di comando di Azure per impostazione predefinita saranno modalità di orchestrazione flessibile se non è specificata alcuna modalità di orchestrazione. Per altre informazioni su questa modifica e sulle azioni da eseguire, vedere Modifica di rilievo per i clienti di PowerShell/interfaccia della riga di comando di VMSS - Hub della community Microsoft

Per associare un nuovo set di scalabilità di macchine virtuali uniformi a un gruppo di prenotazioni di capacità, creare la richiesta PUT seguente al provider Microsoft.Compute :

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

Aggiungere la capacityReservationGroup proprietà nella virtualMachineProfile proprietà :

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

Associare un set di scalabilità di macchine virtuali esistente al gruppo di prenotazioni della capacità

Per aggiungere un gruppo di prenotazioni di capacità esistente a un set di scalabilità uniforme esistente:

  • Arrestare il set di scalabilità per deallocare le istanze della macchina virtuale
  • Aggiornare il set di scalabilità per usare un gruppo di prenotazioni di capacità corrispondente
  • Avviare il set di scalabilità

Questo processo garantisce che il posizionamento per le prenotazioni di capacità e il set di scalabilità nell'area siano compatibili.

Note importanti sui criteri di aggiornamento

  • Aggiornamento automatico: in questa modalità, le istanze della macchina virtuale del set di scalabilità vengono associate automaticamente al gruppo Prenotazione capacità senza ulteriori azioni da parte dell'utente. Quando le macchine virtuali del set di scalabilità vengono riallocate, iniziano a usare la capacità riservata.
  • Aggiornamento in sequenza: in questa modalità, le istanze di macchine virtuali del set di scalabilità sono associate al gruppo Prenotazione capacità senza ulteriori azioni da parte dell'utente. Tuttavia, vengono aggiornati in batch con un tempo di pausa facoltativo tra di essi. Quando le macchine virtuali del set di scalabilità vengono riallocate, iniziano a usare la capacità riservata.
  • Aggiornamento manuale: in questa modalità non accade nulla alle istanze della macchina virtuale del set di scalabilità quando il set di scalabilità di macchine virtuali è collegato a un gruppo di prenotazioni di capacità. È necessario eseguire l'aggiornamento a ogni macchina virtuale del set di scalabilità aggiornandolo con il modello di set di scalabilità più recente.
  1. Deallocare il set di scalabilità di macchine virtuali.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/deallocate?api-version=2021-04-01
    
  2. Aggiungere la capacityReservationGroup proprietà al modello del set di scalabilità. Creare la richiesta PUT seguente al provider Microsoft.Compute :

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

    Nel corpo della richiesta includere la capacityReservationGroup proprietà :

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

Visualizzare l'associazione del set di scalabilità di macchine virtuali con la visualizzazione istanza

Quando il set di scalabilità di macchine virtuali uniformi è associato al gruppo Prenotazione capacità, tutte le allocazioni di macchine virtuali successive verranno eseguite rispetto alla prenotazione della capacità. Azure trova automaticamente la prenotazione della capacità corrispondente nel gruppo e usa uno slot riservato.

La visualizzazione Istanza gruppo di prenotazioni capacità riflette le nuove macchine virtuali del set di scalabilità nelle virtualMachinesAssociated & virtualMachinesAllocated proprietà:

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

Considerazioni su area e zone di disponibilità

I set di scalabilità di macchine virtuali possono essere creati a livello di area o in uno o più zone di disponibilità per proteggerli da errori a livello di data center. Per altre informazioni sulle set di scalabilità di macchine virtuali multiarea, vedere set di scalabilità di macchine virtuali che usano zone di disponibilità.

Importante

La località (area e zone di disponibilità) del set di scalabilità di macchine virtuali e il gruppo di prenotazioni di capacità devono corrispondere affinché l'associazione abbia esito positivo. Per un set di scalabilità a livello di area, l'area deve corrispondere tra il set di scalabilità e il gruppo Prenotazione capacità. Per un set di scalabilità di zona, sia le aree che le zone devono corrispondere tra il set di scalabilità e il gruppo Prenotazione capacità.

Quando un set di scalabilità viene distribuito in più zone, tenta sempre di eseguire la distribuzione uniforme nei zone di disponibilità inclusi. A causa della distribuzione uniforme, un gruppo di prenotazioni di capacità deve avere sempre la stessa quantità di macchine virtuali riservate in ogni zona. Come illustrazione del motivo per cui questo è importante, considerare l'esempio seguente.

In questo esempio ogni zona ha una quantità diversa riservata. Si supponga che il set di scalabilità di macchine virtuali si ridimensiona a 75 istanze. Poiché il set di scalabilità tenterà sempre di eseguire la distribuzione uniforme tra le zone, la distribuzione della macchina virtuale sarà simile alla seguente:

Zona Quantità riservata No. di macchine virtuali del set di scalabilità in ogni zona Quantità inutilizzata riservata Sovrassegnate
1 40 25 15 0
2 20 25 0 5
3 15 25 0 10

In questo caso, il set di scalabilità comporta costi aggiuntivi per 15 istanze inutilizzate nella zona 1. La scalabilità orizzontale si basa anche su 5 macchine virtuali nella zona 2 e 10 macchine virtuali nella zona 3 che non sono protette dalla prenotazione della capacità. Se ogni zona aveva 25 istanze di capacità riservate, tutte le 75 macchine virtuali sarebbero protette dalla prenotazione della capacità e la distribuzione non comporta alcun costo aggiuntivo per le istanze inutilizzate.

Poiché le prenotazioni possono essere sovrassegnate, il set di scalabilità può continuare a essere ridimensionato normalmente oltre i limiti della prenotazione. L'unica differenza è che le macchine virtuali allocate al di sopra della quantità riservata non sono coperte dal contratto di servizio di prenotazione della capacità. Per altre informazioni, vedere Sovrassegnazione della prenotazione della capacità.

Passaggi successivi