Бөлісу құралы:


Превышение доступности при резервировании мощности

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы ✔️ Гибкие масштабируемые наборы

Azure разрешает связывание дополнительных виртуальных машин с превышением количества резервирований емкости. Эти виртуальные машины доступны для ускорения и других сценариев горизонтального масштабирования без ограничений зарезервированной емкости. Единственное отличие заключается в том, что количество виртуальных машин, превышающее зарезервированное количество, не получает преимущества соглашения об уровне обслуживания о доступности емкости. Если у Azure есть доступная емкость, которая соответствует требованиям к виртуальной машине, дополнительное выделение будет выполнено успешно.

Представление экземпляров для группы резервирования мощности содержит моментальный снимок использования для каждого резервирования мощности из этой группы. С помощью представления экземпляров можно увидеть, как работает превышение доступности.

В этой статье предполагается, что созданы группа резервирования мощности (myCapacityReservationGroup), резервирование мощности в этой группе (myCapacityReservation) и виртуальная машина (myVM1), связанная с группой. Дополнительные сведения см. в статьях Создание резервирования мощности и Связывание виртуальной машины с резервированием мощности.

Представление экземпляров для группы резервирования мощности

Представление экземпляра для группы резервирования мощности выглядит следующим образом:

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

Допустим, мы создаем еще одну виртуальную машину с именем myVM2 и связываем ее с приведенной выше группой резервирования мощности.

Представление экземпляра для группы резервирования мощности теперь выглядит следующим образом:

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

Обратите внимание, что длина virtualMachinesAllocated (2) больше, чем capacity (1). Это допустимое состояние называется превышением доступности.

Важно!

Azure не останавливает выделение только потому, что резервирование мощности полностью израсходовано. Правила автомасштабирования, временное горизонтальное увеличение масштаба и связанные требования будут работать при превышении зарезервированной мощности, пока в Azure остается доступная мощность и соблюдаются другие ограничения, такие как установленная квота.

Состояния и рекомендации

Существует три допустимых состояния резервирования емкости.

Состояние Состояние Рекомендации
Доступная зарезервированная емкость Длина virtualMachinesAllocated<capacity Необходима ли вся зарезервированная емкость? При необходимости уменьшите мощность, чтобы сократить расходы.
Использованное резервирование Длина virtualMachinesAllocated == capacity На дополнительные виртуальные машины не распространяется соглашение об уровне обслуживания в отношении мощности, если не освободить некоторые из имеющихся виртуальных машин. При необходимости попробуйте увеличить мощность, чтобы соглашение об уровне обслуживания распространялось на дополнительные виртуальные машины.
Доступность резервирования превышена Длина virtualMachinesAllocated>capacity Соглашение об уровне обслуживания в отношении мощности не распространяется на дополнительные виртуальные машины. Кроме того, в случае освобождения на определенное количество виртуальных машин (длина virtualMachinesAllocatedcapacity) не будет распространяться соглашение об уровне обслуживания в отношении мощности. При необходимости увеличьте мощность, чтобы добавить соглашение об уровне обслуживания для большего числа существующих виртуальных машин.

Дальнейшие действия