你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

创建容量预留

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 统一规模集 ✔️ 灵活规模集

产能预留始终作为产能预留组的一部分创建。 如果合适的组尚不存在,则第一步是创建一个组,然后创建预留。 成功创建后,预留可立即供虚拟机使用。 只要不删除预留,就会预留该容量供你使用。

由于格式正确的容量预留组请求不会预留任何容量,因此该请求应始终成功。 它仅作为预留的容器。 但是,如果没有 VM 系列所需的配额,或者 Azure 没有足够的容量来满足请求,则容量预留请求可能会失败。 要么请求更多配额,要么尝试使用不同的 VM 大小、位置或区域组合。

容量预留创建完全成功,或者完全失败。 对于预留 10 个实例的请求,仅在可以分配 10 个实例时才返回成功, 否则,容量预留的创建将失败。

注意事项

容量预留必须满足以下规则:

  • location 参数必须与父产能预留组的 location 属性匹配。 不匹配会导致错误。
  • VM 大小必须在目标区域中可用, 否则,预留创建将失败。
  • 订阅必须具有可用的配额,该配额等于或大于为 VM 系列和整个区域预留的 VM 数量。 如果需要,请请求更多配额
    • 如果需要满足现有配额限制,可以分步完成每个 VM。 使用较小的数量创建产能预留,并重新分配该数量的虚拟机。 这会释放配额以增加预留的数量并添加更多虚拟机。 或者,如果订阅使用相同系列中的不同 VM 大小,请为第一个大小预留并重新部署 VM。 然后,向组中添加另一个大小的预留,并将新大小的 VM 重新部署到预留组。 重复操作直到完成。
    • 对于规模集,需要具有可用的配额,除非删除了规模集或其 VM 实例,预留了容量,并使用预留的容量添加了规模集实例。 如果使用蓝绿部署更新了规模集,请预留产能,然后在下次更新时将新的规模集部署到预留的产能。
  • 对于给定的 VM 大小,每个产能预留组只能正好有一个预留。 例如,只能为 VM 大小 Standard_D2s_v3 创建一个容量预留。 如果尝试在同一容量预留组中为 Standard_D2s_v3 创建第二个预留,则会导致错误。 但是,可以在同一组中为其他 VM 大小(例如 Standard_D4s_v3Standard_D8s_v3 等)创建另一个预留。
  • 对于支持区域的产能预留组,每种预留类型都是由 VM 大小和区域的组合定义的。 例如,支持 Zone 1Standard_D2s_v3 的一个容量预留、Zone 2Standard_D2s_v3 的另一个容量预留以及 Zone 3Standard_D2s_v3 的第三个容量预留。

检查区域中可用于容量预留的 VM 大小

在创建容量预留之前,可以检查特定区域可用于预留的 VM 大小。

  1. 打开 Azure 门户
  2. 在搜索栏中,键入“产能预留组”
  3. 从选项中选择“产能预留组”
  4. 选择“创建”
  5. 在“基本”选项卡下,创建产能预留组
    1. 选择“订阅”
    2. 选择或创建“资源组”
    3. 对组进行命名
    4. 选择“区域”
    5. (可选)选择“可用性区域”,或选择不指定任何区域并允许 Azure 为你选择
  6. 选择“下一步”
  7. 在 VM 大小上,单击“查看所有大小”,检查哪些 VM 大小可用于容量预留

创建容量预留

  1. 创建产能预留组

    要创建产能预留组,请在 Microsoft.Compute 提供程序上构造以下 PUT 请求:

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

    在请求正文中,添加以下参数:

    { 
      "location":"eastus"
    } 
    

    创建此组以包含美国东部位置的预留。

    以下示例中的组仅支持区域预留,因为在创建时没有指定区域。 若要创建区域组,请在请求正文中传递一个额外的参数 zone

    { 
      "location":"eastus",
      "zones": ["1", "2", "3"] 
    } 
    
  2. 创建容量预留

    要创建预留,请在 Microsoft.Compute 提供程序上构造以下 PUT 请求:

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

    在请求正文中,添加以下参数:

    { 
      "location": "eastus", 
      "sku": { 
        "name": "Standard_D2s_v3", 
        "capacity": 5 
      }, 
     "tags": { 
            "environment": "testing" 
    } 
    

    上述请求在美国东部位置为 D2s_v3 VM 大小创建 5 个预留。

查看容量预留

成功创建后,容量预留可立即供 VM 使用。

GET  
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName}?api-version=2021-04-01
{ 
    "name": "<CapacityReservationName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{CapacityReservationName}", 
    "type": "Microsoft.Compute/capacityReservationGroups/capacityReservations", 
    "location": "eastus", 
    "tags": { 
        "environment": "testing" 
    }, 
    "sku": { 
        "name": "Standard_D2s_v3", 
        "capacity": 5 
    }, 
    "properties": { 
        "reservationId": "<reservationId>", 
         "provisioningTime": "<provisioningTime>", 
         "provisioningState": "Updating" 
    } 
} 

后续步骤