了解 Azure 虚拟机规模集 VM 的名称和实例 ID

规模集中的每个 VM 均获得唯一标识它的名称和实例 ID。 可在规模集 API 中使用它们对规模集中的特定 VM 执行操作。 本文介绍规模集的实例 ID 和显示这些 ID 的各种方法。

规模集 VM 名称

虚拟机规模集将为规模集中的每个 VM 生成独一无二的名称。 命名约定因业务流程模式而异:

  • 灵活业务流程模式:{scale-set-name}_{8-char-guid}
  • 统一业务流程模式:{scale-set-name}_{instance-id}

灵活业务流程模式的规模集实例 ID

对于灵活业务流程模式下的虚拟机规模集,实例 ID 就是虚拟机的名称。

统一业务流程模式的规模集实例 ID

对于统一业务流程模式下的规模集,实例 ID 为十进制数。 删除旧实例后,实例 ID 可以重新用于新实例。

注意

对于将实例 ID 分配给规模集中的 VM 的方式没有保证。 有时它们可能会按顺序递增,但并非总是这种情况。 不要依赖于将实例 ID 分配给 VM 的特定方式。

可以通过列出规模集中的所有实例来获取实例 ID 的列表。

REST API

有关详细信息,请参阅 REST API 文档

GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines?api-version={apiVersion} 

也可以在使用重置映像 API 时指定特定实例 ID 来重置映像。 有关详细信息,请参阅 REST API 文档

POST https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage?api-version={apiVersion}

PowerShell

有关详细信息,请参阅 PowerShell 文档

Get-AzVmssVM -ResourceGroupName {resourceGroupName} -VMScaleSetName {vmScaleSetName}

也可以在使用重置映像 API 时指定特定实例 ID 来重置映像。 有关详细信息,请参阅 PowerShell 文档

Set-AzVmssVM -ResourceGroupName {resourceGroupName} -VMScaleSetName {vmScaleSetName} -InstanceId {instanceId} -Reimage

CLI

有关详细信息,请参阅 CLI 文档

az vmss list-instances -g {resourceGroupName} -n {vmScaleSetName}

也可以在使用重置映像 API 时指定特定实例 ID 来重置映像。 有关详细信息,请参阅 CLI 文档

az vmss reimage -g {resourceGroupName} -n {vmScaleSetName} --instance-id {instanceId}

实例元数据 VM 名称

如果从规模集 VM 中查询实例元数据,会在输出中看到“名称”:

{
  "compute": {
    "location": "chinanorth2",
    "name": "nsgvmss_85",

规模集 VM 的计算机名

规模集中的每个 VM 还会获得一个分配给它的计算机名称。 此计算机名在虚拟网络中 Azure 提供的 DNS 名称解析中是 VM 的主机名。 计算机名称命名约定因业务流程模式而异:

  • 灵活业务流程模式:{computer-name-prefix}{6-char-guid}
  • 统一业务流程模式:{computer-name-prefix}{base-36-instance-id}

计算机名称前缀是规模集模型中可以设置的属性,因此它可以与规模集名称本身不同。 创建 VM 后,还可以从来宾 OS 内部更改规模集 VM 计算机名称。