Share via


Asociación de un conjunto de escalado de máquinas virtuales nuevo o existente con orquestación uniforme a un grupo de reserva de capacidad

Se aplica a: ✔️ Conjunto de escalado uniforme

Virtual Machine Scale Sets tiene dos modos:

  • Modo de orquestación uniforme: en este modo, los conjuntos de escalado de máquinas virtuales usan un perfil de máquina virtual o una plantilla para escalar verticalmente hasta la capacidad deseada. Aunque existe cierta capacidad para administrar o personalizar instancias de máquina virtual individuales, el modo de orquestación uniforme usa instancias de máquina virtual idénticas. Estas instancias se exponen a través de las API de máquina virtual de conjuntos de escalado de máquinas virtuales y no son compatibles con los comandos estándar de la API de máquina virtual de IaaS de Azure. Dado que el conjunto de escalado realiza todas las operaciones de máquina virtual reales, las reservas se asocian directamente con el conjunto de escalado de máquinas virtuales. Una vez que el conjunto de escalado está asociado con la reserva, todas las asignaciones de máquinas virtuales posteriores se realizarán en la reserva.
  • Modo de orquestación flexible: en este modo, obtiene más flexibilidad al administrar las instancias individuales de máquina virtual del conjunto de escalado de máquinas virtuales, ya que pueden usar las API de máquina virtual de IaaS de Azure estándar en lugar de usar la interfaz del conjunto de escalado. Para usar reservas con el modo de orquestación flexible, defina la propiedad del conjunto de escalado de máquinas virtuales y la propiedad de reserva de capacidad en cada máquina virtual.

Para obtener más información sobre estos modos, vaya a Modos de orquestación de Virtual Machine Scale Sets.

Este contenido se aplica al modo de orquestación uniforme. Para el modo de orquestación flexible, vaya a Asociación de un conjunto de escalado de máquinas virtuales con orquestación flexible a un grupo de reserva de capacidad.

Limitaciones de los conjuntos de escalado en la orquestación uniforme

  • Para que Virtual Machine Scale Sets de la orquestación uniforme sea compatible con Reserva de capacidad, la propiedad singlePlacementGroup debe establecerse en False.
  • La opción de disponibilidad Propagación fija estática de los conjuntos de escalado uniformes de varias zonas no se admite con Reserva de capacidad. Esta opción requiere el uso de 5 dominios de error, mientras que las reservas solo admiten hasta 3 dominios de error para tamaños de uso general. El enfoque recomendado consiste en usar la opción Propagación máxima, que distribuye máquinas virtuales entre tantos dominios de error como sea posible dentro de cada zona. Si es necesario, establezca una configuración de dominio de error personalizada de 3 o menos.

Hay otras restricciones al usar Reserva de capacidad. Para obtener la lista completa, consulte la información general de las reservas de capacidad.

Asociación de un nuevo conjunto de escalado de máquinas virtuales a un grupo de reserva de capacidad

Importante

A partir de noviembre de 2023, los conjuntos de escalado de máquinas virtuales creados con PowerShell y la CLI de Azure tendrán como valor predeterminado el modo de orquestación flexible si no se especifica ningún modo de orquestación. Para más información sobre este cambio y las acciones que debe realizar, vaya a Cambio importante para clientes de PowerShell o la CLI de VMSS: Centro de comunidad de Microsoft.

Para asociar un nuevo conjunto de escalado de máquinas virtuales uniforme a un grupo de reserva de capacidad, cree la siguiente solicitud PUT para el proveedor Microsoft.Compute:

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

Agregue la propiedad capacityReservationGroup en la propiedad virtualMachineProfile:

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

Asociación de un conjunto de escalado de máquinas virtuales existente a un grupo de reserva de capacidad

Para agregar un grupo de reserva de capacidad existente a un conjunto de escalado uniforme existente:

  • Detenga el conjunto de escalado para desasignar las instancias de máquina virtual.
  • Actualice el conjunto de escalado para usar un grupo de reservas de capacidad que coincida.
  • Inicie el conjunto de escalado.

Este proceso garantiza que la ubicación de las reservas de capacidad y el conjunto de escalado de la región sean compatibles.

Notas importantes sobre las directivas de actualización

  • Actualización automática: en este modo, las instancias de máquina virtual del conjunto de escalado se asocian automáticamente al grupo de reserva de capacidad sin que sea necesaria ninguna acción adicional por su parte. Cuando las máquinas virtuales del conjunto de escalado se reasignan, comienzan a consumir la capacidad reservada.
  • Actualización gradual: en este modo, las instancias de máquina virtual del conjunto de escalado se asocian al grupo de reserva de capacidad sin que sea necesaria ninguna acción adicional por su parte. Sin embargo, se actualizan en lotes con un tiempo de pausa opcional entre ellas. Cuando las máquinas virtuales del conjunto de escalado se reasignan, comienzan a consumir la capacidad reservada.
  • Actualización manual: en este modo, no les sucede nada a las instancias de máquina virtual del conjunto de escalado cuando el conjunto de escalado de máquinas virtuales se asocia a un grupo de reserva de capacidad. Deberá actualizar cada máquina virtual del conjunto de escalado con el modelo de conjunto de escalado más reciente.
  1. Desasigne el conjunto de escalado de máquinas virtuales.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/deallocate?api-version=2021-04-01
    
  2. Agregue la propiedad capacityReservationGroup al modelo del conjunto de escalado. Cree la siguiente solicitud PUT para el proveedor Microsoft.Compute:

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

    En el cuerpo de la solicitud, incluya la propiedad capacityReservationGroup:

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

Visualización de la asociación del conjunto de escalado de máquinas virtuales con la vista de instancia

Una vez que el conjunto de escalado de máquinas virtuales uniforme se asocie al grupo de reserva de capacidad, todas las asignaciones de máquinas virtuales posteriores se producirán en la reserva de capacidad. Azure busca automáticamente la reserva de capacidad correspondiente en el grupo y consume una ranura reservada.

La vista de instancia del grupo de reserva de capacidad reflejará las nuevas máquinas virtuales del conjunto de escalado en las propiedades virtualMachinesAssociated y virtualMachinesAllocated:

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

Consideraciones sobre las regiones y Availability Zones

Los conjuntos de escalado de máquinas virtuales se pueden crear de forma regional o en una o varias zonas de Availability Zones para protegerlos frente a errores de nivel de centro de datos. Obtenga más información sobre los conjuntos de escalado de máquinas virtuales de varias zonas, consulte Virtual Machine Scale Sets que usan Availability Zones.

Importante

La ubicación (región y Availability Zones) del conjunto de escalado de máquinas virtuales y el grupo de reserva de capacidad deben coincidir para que la asociación se lleve a cabo correctamente. En el caso de un conjunto de escalado regional, la región debe coincidir entre el conjunto de escalado y el grupo de reserva de capacidad. En el caso de un conjunto de escalado zonal, las regiones y las zonas deben coincidir entre el conjunto de escalado y el grupo de reserva de capacidad.

Cuando un conjunto de escalado se distribuye entre varias zonas, siempre intenta implementarse uniformemente en las zonas de Availability Zones incluidas. Debido a esa implementación uniforme, un grupo de reserva de capacidad siempre debe tener la misma cantidad de máquinas virtuales reservadas en cada zona. Para ilustrar por qué esto es importante, tenga en cuenta el ejemplo siguiente.

En este ejemplo, cada zona tiene reservada una cantidad diferente. Supongamos que el conjunto de escalado de máquinas virtuales se escala horizontalmente hasta 75 instancias. Puesto que el conjunto de escalado siempre intentará implementarse uniformemente entre zonas, la distribución de VM debe tener el siguiente aspecto:

Zona Cantidad reservada No. de máquinas virtuales del conjunto de escalado en cada zona Cantidad reservada sin usar Con exceso de asignación
1 40 25 15 0
2 20 25 0 5
3 15 25 0 10

En este caso, el conjunto de escalado incurre en un costo adicional para 15 instancias no usadas en Zona 1. La escalabilidad horizontal también se basa en 5 máquinas virtuales en Zona 2 y 10 máquinas virtuales en Zona 3 que no protege la reserva de capacidad. Si cada zona tuviera 25 instancias de capacidad reservadas, la reserva de capacidad protegería las 75 máquinas virtuales y la implementación no incurriría en ningún costo adicional por las instancias no usadas.

Puesto que las reservas se pueden sobreasignar, el conjunto de escalado puede seguir realizando el escalado con normalidad más allá de los límites de la reserva. La única diferencia es que el Acuerdo de Nivel de Servicio de la reserva de capacidad no cubre las máquinas virtuales asignadas por encima de la cantidad reservada. Para obtener más información, vaya a Sobreasignación de la reserva de capacidad.

Pasos siguientes