Asignación excesiva de reserva de capacidad
Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjunto de escalado uniforme ✔️ Conjuntos de escalado flexibles
Azure permite la asociación de máquinas virtuales adicionales por encima del número de reservas de capacidad. Estas máquinas virtuales están disponibles para permitir la ráfaga y otros escenarios de escalabilidad horizontal sin los límites de capacidad reservada. La única diferencia es que el recuento de máquinas virtuales más allá de la cantidad reservada no recibe la ventaja del contrato de nivel de servicio (SLA) de disponibilidad de capacidad. Siempre que Azure tenga capacidad disponible que cumpla los requisitos de la máquina virtual, las asignaciones adicionales se realizan correctamente.
La vista de instancia de un grupo de reserva de capacidad proporciona una instantánea del uso de cada reserva de capacidad de miembro. Puede usar la vista de instancia para ver cómo funciona la sobreasignación.
En este artículo se da por supuesto que ha creado un grupo de reserva de capacidad (myCapacityReservationGroup
), una reserva de capacidad de miembro (myCapacityReservation
) y una máquina virtual (myVM1) que está asociada al grupo. Vaya a los artículos sobre cómo crear una reserva de capacidad y cómo asociar una máquina virtual a una reserva de capacidad para obtener más detalles.
Vista de instancia del grupo de reserva de capacidad
La vista de instancia de un grupo de reserva de capacidad tiene el siguiente aspecto:
GET
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/myCapacityReservationGroup?$expand=instanceview&api-version=2021-04-01
{
"name": "myCapacityReservationGroup",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup",
"type": "Microsoft.Compute/capacityReservationGroups",
"location": "eastus",
"properties": {
"capacityReservations": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/MYCAPACITYRESERVATIONGROUP/capacityReservations/MYCAPACITYRESERVATION"
}
],
"virtualMachinesAssociated": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1"
}
],
"instanceView": {
"capacityReservations": [
{
"name": "myCapacityReservation",
"utilizationInfo": {
"virtualMachinesAllocated": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1"
}
]
},
"statuses": [
{
"code": "ProvisioningState/succeeded",
"level": "Info",
"displayStatus": "Provisioning succeeded",
"time": "<time>"
}
]
}
]
}
}
}
Supongamos que creamos otra máquina virtual denominada myVM2 y la asociamos al grupo de reserva de capacidad anterior.
La vista de instancia del grupo de reserva de capacidad ahora tiene el siguiente aspecto:
{
"name": "myCapacityReservationGroup",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup",
"type": "Microsoft.Compute/capacityReservationGroups",
"location": "eastus",
"properties": {
"capacityReservations": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/MYCAPACITYRESERVATIONGROUP/capacityReservations/MYCAPACITYRESERVATION"
}
],
"virtualMachinesAssociated": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1"
},
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM2"
}
],
"instanceView": {
"capacityReservations": [
{
"name": "myCapacityReservation",
"utilizationInfo": {
"virtualMachinesAllocated": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1"
},
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM2"
}
]
},
"statuses": [
{
"code": "ProvisioningState/succeeded",
"level": "Info",
"displayStatus": "Provisioning succeeded",
"time": "<time>"
}
]
}
]
}
}
}
La longitud de virtualMachinesAllocated
(2) es mayor que capacity
(1). Este estado válido se conoce como sobreasignado.
Importante
Azure no detendrá las asignaciones solo porque una reserva de capacidad se consuma por completo. Las reglas de escalabilidad automática, la escalabilidad horizontal temporal y los requisitos relacionados funcionarán más allá de la cantidad de capacidad reservada, siempre y cuando Azure tenga capacidad disponible y se cumplan otras restricciones, como la cuota disponible.
Estados y consideraciones
Hay tres estados válidos para una reserva de capacidad determinada:
Valor | Estado | Consideraciones |
---|---|---|
Capacidad reservada disponible | Longitud de virtualMachinesAllocated <capacity |
¿Se necesita toda la capacidad reservada? Opcionalmente, reduzca la capacidad para reducir los costes. |
Reserva consumida | Longitud de virtualMachinesAllocated == capacity |
Las máquinas virtuales adicionales no recibirán el Contrato de nivel de servicio de capacidad a menos que se desasignen algunas máquinas virtuales existentes. Opcionalmente, intente aumentar la capacidad para que las máquinas virtuales planeadas adicionales reciban un Contrato de nivel de servicio. |
Reserva sobreasignada | Longitud de virtualMachinesAllocated >capacity |
Las máquinas virtuales adicionales no recibirán el Contrato de nivel de servicio de capacidad. Además, la cantidad de máquinas virtuales (longitud de virtualMachinesAllocated – capacity ) no recibirá un Contrato de nivel de servicio de capacidad si se desasignan. Opcionalmente, aumente la capacidad para agregar el Contrato de nivel de servicio de capacidad a más de las máquinas virtuales existentes. |