Compartir por


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

Se aplica a: ✔️ Conjunto de escalado uniforme

Azure Virtual Machine Scale Sets tiene dos modos:

  • Orquestación uniforme: en este modo, los conjuntos de escalado de máquinas virtuales usan un perfil de máquina virtual (VM) o una plantilla para escalar verticalmente hasta la capacidad que desee. 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 de la API que son estándar para las máquinas virtuales de infraestructura como servicio (IaaS) de Azure. Dado que el conjunto de escalado realiza todas las operaciones de máquina virtual reales, las reservas se asocian directamente al conjunto de escalado de máquinas virtuales. Una vez que el conjunto de escalado está asociado a la reserva, todas las asignaciones de máquinas virtuales posteriores se realizarán en la reserva.
  • Orquestación flexible: en este modo, obtendrá más flexibilidad para administrar las instancias individuales de máquinas virtuales del conjunto de escalado de máquinas virtuales. Pueden usar las API de máquina virtual 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, consulte los 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 los conjuntos de escalado de máquina virtual 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 cinco dominios con error. Sin embargo, las reservas solo admiten hasta tres dominios de error para tamaños de uso general. El enfoque que recomendamos 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 tres o menos.

Hay otras restricciones cuando se usa la 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 tiene como valor predeterminado el modo de orquestación flexible si no se especifica ningún modo de orquestación. Para más información acerca de este cambio y las acciones que debe realizar, vea el 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. Construya la siguiente solicitud PUT al proveedorMicrosoft.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

Después de 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 refleja 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 la región y la zona de disponibilidad

Puede crear conjuntos de escalado de máquinas virtuales de forma regional o en una o varias zonas de disponibilidad para ayudar a protegerlos frente a errores de nivel de centro de datos. Para obtener más información sobre los conjuntos de escalado de máquinas virtuales de varias zonas, consulte conjuntos de escalado de máquinas virtuales que usan zonas de disponibilidad.

Importante

La ubicación (región y zonas de disponibilidad) 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. Para un conjunto de escalado regional, la región debe coincidir entre el conjunto de escalado y el grupo de reserva de capacidad. Para 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 disponibilidad 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é hasta la implementación 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 intenta implementarse uniformemente entre zonas, la distribución de VM debe tener el siguiente ejemplo:

Zona Cantidad reservada Número 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 coste adicional para 15 instancias no usadas en Zona 1. El escalado 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, Reserva de capacidad protegería las 75 máquinas virtuales y la implementación no incurriría en ningún costo adicional para 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 las máquinas virtuales asignadas por encima de la cantidad reservada no están cubiertas por el Acuerdo de Nivel de Servicio de reserva de capacidad. Para obtener más información, consulte Sobreasignación de la reserva de capacidad.

Paso siguiente