你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
基于属性的 VM 选择目前为预览版。 需同意补充使用条款才可使用预览版。 在正式版 (GA) 推出之前,此功能的某些方面可能会有所更改。
通过基于属性的虚拟机 (VM) 选择功能,可以将实例要求配置为一组 VM 属性,例如内存、vCPU 和存储。 这些要求与所有合适的 Azure VM 大小相匹配,简化了 VM 配置的创建和维护。 此功能还让你能够在较新的 VM 代系可用时无缝利用它们。 你还可以通过 Azure 现成虚拟机访问更广泛的容量。 计算舰队服务可以选择并启动与指定属性匹配的 VM,无需手动选择 VM 大小。
基于属性的 VM 选择非常适合无状态 Web 服务、大规模批处理、大数据群集或持续集成管道等方案。 财务风险建模、日志处理和图像渲染等工作负载可以利用运行数十万个并发核心或实例的功能。 利用现成虚拟机时,现在不需要单独指定大量 VM 大小和类型,而是可以通过简单的属性配置涵盖所有相关选项,包括新发布的选项。
先决条件
若要使用基于属性的 VM 选择,必须注册 Azure 计算舰队预览功能。 在你填写注册表并获得批准后,我们将与你联系,告知后续步骤和加入详情。
好处
- 现成 VM 的最佳灵活性:计算舰队可从多种 VM 大小中进行选择,在部署现成虚拟机时提供最佳灵活性。 此过程符合现成使用的最佳做法,可确保 VM 大小选择的灵活性,从而提高 Azure 现成 VM 满足和分配所需计算容量的可能性。
- 简化的 VM 类型选择:由于可用的 VM 大小种类繁多,因此找到最适合工作负载的 VM 可能是一项复杂的任务。 通过指定 VM 属性,Azure 虚拟机规模集可以自动选择满足工作负载要求的 VM 大小。 这种自动化可简化流程,并确保选择合适的资源。
- 自动采用新的 VM 大小:Azure 虚拟机规模集可以在新一代 VM 大小可用时自动将其纳入。 如果这些新的 VM 大小可满足指定要求,并且与所选分配策略保持一致,规模集就可以无缝使用它们,确保部署从最新的改进中受益,而无需手动更新。
处理
基于属性的 VM 选择如何工作? 该过程涉及两个主要步骤:确定 VM 类型,然后是应用分配策略。
- 确定 VM 类型:基于属性的选择根据指定的属性、所选的 Azure 区域和可用区域生成 VM 类型列表。
- 应用分配策略:计算舰队会将选定的分配策略应用于生成的 VM 列表。
对于 Azure 现成 VM,基于属性的选择支持容量优化和最低价格分配策略。 对于标准 VM,基于属性的选择支持最低价格分配策略。 计算舰队将属性配置解析为合适的 VM 类型列表,并首先启动价格最低的 VM 以满足容量请求的按需部分,然后根据需要继续启动下一个价格最低的 VM。
基于属性的选择功能可实现更灵活的 VM 类型配置,无需大量实例类型列表。 这样,就可以在所选 Azure 区域引入较新的 VM 代系时自动利用它们。 此外,基于属性的选择可增强通过现成请求高效访问更多容量的能力。
通过基于属性的选择,VM 大小配置的管理变得更加简单、更具可伸缩性,确保工作负载以优化的成本和性能顺利运行。
支持的 VM 属性
以下 VM 属性列表受支持并提供配置示例。
vCpuCount
- 必须
- 如果指定了
VMAttributes
,则必须指定 - 指定了
vCpuCount
的范围(从最小值到最大值) - 需要提供
min(uint)
或max(uint)
(如果已指定)
"vCpuCount": {
"value": {
"min": 2,
"max": 24
}
}
memoryInGiB
- 必须
- 如果指定了
VMAttributes
,则必须指定 - 指定了
memoryInGiB
的范围(从最小值到最大值) - 需要提供
min(double)
或max(double)
(如果已指定)
"memoryInGiB": {
"value": {
"min": 0,
"max": 1024
}
}
memoryInGiBPerVCpu
- 可选
- 指定了
memoryInGiBPerVCpu
的范围(从最小值到最大值) - 需要提供
min(double)
或max(double)
(如果已指定)
"memoryInGiBPerVCpu": {
"value": {
"min": 0,
"max": 8
}
}
localStorageSupport
- 可选
- 指定是否应使用支持本地存储的 VM 大小来构建计算舰队
- 可能的值:
- 已排除 - 不包括支持本地存储的 VM 大小
- 必需 - 仅包括支持本地存储的 VM 大小
- 已包含 - 包括支持和不支持本地存储的 VM 大小,如果未指定
localStorageSupport
,则为默认值
"localStorageSupport": "Included"
localStorageInGiB
- 可选
- 指定了
localStorageInGiB
的范围(从最小值到最大值) - 需要提供
min(double)
或max(double)
(如果已指定) - 应将
localStorageSupport
设置为“已包含”或“必需”以使用此 VM 属性 - 如果将
localStorageSupport
设置为“已排除”,则无法使用此 VM 属性
"localStorageInGiB": {
"value": {
"min": 0,
"max": 100
}
}
localStorageDiskTypes
- 可选
-
localStorageDiskTypes
以列表形式指定 - 有效值为“SSD”和“HDD”
- 应将
localStorageSupport
设置为“已包含”或“必需”以使用此 VM 属性 - 如果将
localStorageSupport
设置为“已排除”,则无法使用此 VM 属性 - 如果未指定,则
localStorageDiskTypes
的默认值为“任何”有效值
"localStorageDiskTypes": {
"value": [
"SSD",
"HDD"
]
}
dataDiskCount
- 可选
- 指定了
dataDiskCount
的范围(从min
到max
) - 需要提供
min(uint)
或max(uint)
(如果已指定)
"dataDiskCount": {
"value": {
"min": 0,
"max": 10
}
}
networkInterfaceCount
- 可选
- 指定了
networkInterfaceCount
的范围(从min
到max
) - 需要提供
min(uint)
或max(uint)
(如果已指定)
"networkInterfaceCount": {
"value": {
"min": 0,
"max": 10
}
}
networkBandwidthInMbps
- 可选
- 指定了
networkBandwidthInMbps
的范围(从min
到max
) - 需要提供
min(double)
或max(double)
(如果已指定)
"networkBandwidthInMbps": {
"value": {
"min": 0,
"max": 500
}
}
rdmaSupport
- 可选
- 指定是否应使用支持远程直接内存访问 (RDMA) 的 VM 大小来构建计算舰队
- 可能的值:
- 已排除 - 不包括支持 RDMA 的 VM 大小,如果未指定
rdmaSupport
,则为默认值 - 必需 - 仅包括支持 RDMA 的 VM 大小
- 已包含 - 包括支持和不支持 RDMA 的 VM 大小
- 已排除 - 不包括支持 RDMA 的 VM 大小,如果未指定
"rdmaSupport": "Included"
rdmaNetworkInterfaceCount
- 可选
- 指定了
rdmaNetworkInterfaceCount
的范围(从min
到max
) - 需要提供
min(uint)
或max(uint)
(如果已指定) - 应将
rdmaSupport
设置为“已包含”或“必需”以使用此 VM 属性 - 如果将
rdmaSupport
设置为“已排除”,则无法使用此 VM 属性
"rdmaNetworkInterfaceCount": {
"value": {
"min": 0,
"max": 10
}
}
acceleratorSupport
- 可选
- 指定是否应使用支持加速器的 VM 大小来构建计算舰队
- 可能的值:
- 已排除 - 不包括支持加速器的 VM 大小,如果未指定
acceleratorSupport
,则为默认值 - 必需 - 仅包括支持加速器的 VM 大小
- 已包含 - 包括支持和不支持加速器的 VM 大小
- 已排除 - 不包括支持加速器的 VM 大小,如果未指定
"acceleratorSupport": "Required"
acceleratorManufacturers
- 可选
-
acceleratorManufacturers
以列表形式指定 - 有效值为 AMD、NVIDIA 和 Xilinx
- 应将
acceleratorSupport
设置为“已包含”或“必需”以使用此 VM 属性 - 如果将
acceleratorSupport
设置为“已排除”,则无法使用此 VM 属性 - 如果未指定,则
acceleratorManufacturers
的默认值为“任何”有效值
"acceleratorManufacturers": {
"value": {
"Nvidia",
"Xilinx"
}
}
acceleratorCount
- 可选
- 指定了
acceleratorCount
的范围(从min
到max
) - 需要提供
min(uint)
或max(uint)
(如果已指定) - 应将
acceleratorSupport
设置为“已包含”或“必需”以使用此 VM 属性 - 如果将
acceleratorSupport
设置为“已排除”,则无法使用此 VM 属性
"acceleratorCount": {
"value": {
"min": 0,
"max": 10
}
}
acceleratorTypes
- 可选
-
acceleratorTypes
以列表形式指定 - 有效值为 GPU 和 FPGA
- 应将
acceleratorSupport
设置为“已包含”或“必需”以使用此 VM 属性 - 如果将
acceleratorSupport
设置为“已排除”,则无法使用此 VM 属性 - 如果未指定,则
acceleratorTypes
的默认值为“任何”有效值
"acceleratorTypes": {
"value": {
"GPU",
"FPGA"
}
}
vmCategories
- 可选
-
vmCategories
以列表形式指定 - 有效值是:
- GeneralPurpose
- ComputeOptimized
- MemoryOptimized
- StorageOptimized
- GpuAccelerated
- FpgaAccelerated
- HighPerformanceCompute
- 如果未指定,则
vmCategories
的默认值为 GeneralPurpose
"vmCategories": {
"value": {
"GeneralPurpose",
"ComputeOptimized"
}
}
architectureTypes
- 可选
-
architectureTypes
以列表形式指定 - 有效值为 X64 和 Arm64
- 如果未指定,则
architectureTypes
的默认值为“任何”有效值
"architectureTypes": {
"value": {
"Arm64",
"x64"
}
}
cpuManufacturers
- 可选
-
cpuManufacturers
以列表形式指定 - 有效值为 Intel、AMD、Microsoft 和 Ampere
- 如果未指定,则
cpuManufacturers
的默认值为“任何”有效值
"cpuManufacturers": {
"value": {
"Microsoft",
"Intel"
}
}
burstableSupport
- 可选
- 指定是否应使用支持可突发功能的 VM 大小来构建计算舰队
- 可能的值:
- 已排除 - 不包括支持可突发功能的 VM 大小,如果未指定
acceleratorSupport
,则为默认值 - 必需 - 仅包括具有可突发功能的 VM 大小
- 已包含 - 包括支持和不支持可突发功能的 VM 大小
- 已排除 - 不包括支持可突发功能的 VM 大小,如果未指定
"burstableSupport": "Excluded"
excludedVMSizes
- 可选
- 指定在构建计算舰队时应排除的 VM 大小
- 所有
excludedVMSizes
都将被忽略,即使它们与 VM 属性匹配也不例外 - 指定
excludedVMSizes
VM 属性时,无法指定VMSizesProfile
,反之亦然 - 限制为 100 个 VM 大小
"excludedVMSizes": {
"value": {
"Standard_F1",
"Standard_F2"
}
}
VMSizesProfile
- 可选
- 指定在构建计算舰队时应排除的 VM 大小
- 所有其他 VM 大小都将被忽略,即使它们与 VM 属性匹配也不例外
- 指定
VMSizesProfile
时,无法指定excludedVMSizes
,反之亦然 - 限制为 100 个 VM 大小
"VMSizesProfile": {
"value": {
{"name": "Standard_F1"},
{"name": "Standard_F2"}
}
}