更新虚拟机规模集中的某个实例时,某些更改无法在不重新制作映像的情况下应用到现有实例。 重新制作虚拟机规模集中某个虚拟机的映像时,会将旧的操作系统磁盘替换为新的操作系统磁盘。 通过此操作,可以更改 OS、数据磁盘配置文件(例如管理员用户名和密码),以及要应用的自定义数据。 要重置规模集中一组现有实例的映像,必须单独重置每个实例的映像。
如果使用临时 OS 磁盘重新映像虚拟机,则实例将还原到其初始状态,并丢失任何本地数据。 对于使用非临时 OS 磁盘的实例,旧 OS 磁盘的保留取决于 OS 磁盘的删除选项。 有关详细信息,请参阅创建虚拟机时设置删除选项
只有当虚拟机的 OS 配置文件与规模集的 OS 配置文件匹配时,才可以对在规模集外部创建并在之后附加到规模集的虚拟机重新创建映像。
在菜单中的“设置”下,导航到“实例”,然后选择要重置映像的实例。 选择后,单击“重置映像”选项。
若要使用 Azure CLI 重置一个或多个实例的映像,请使用 az vmss reimage 命令。 该 --instance-ids 参数接受一个或多个空格分隔的实例标识符:如果使用统一业务流程,则为实例 ID;如果使用灵活业务流程,则接受实例名称。 省略 --instance-ids 时,将重新映像虚拟机规模集中的所有虚拟机。
若要重置特定实例的映像,请提供一个或多个实例 ID:
az vmss reimage \
--resource-group myResourceGroup \
--name myScaleSet \
--instance-ids instanceId1 instanceId2
若要对规模集中的所有实例重新创建映像,请省略 --instance-ids:
az vmss reimage \
--resource-group myResourceGroup \
--name myScaleSet
要使用 Azure PowerShell 重置特定实例的映像,请使用 Set-AzVmssVM 命令。 如果使用的是统一业务流程,则 instanceid 参数将引用实例的 ID;如果使用灵活业务流程,则引用实例名称。
Set-AzVmssVM `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-InstanceId instanceId -Reimage
要使用 REST 重新创建规模集实例的映像,请使用 reimage 命令。 可以在请求正文中指定要重新创建映像的多个实例。
POST https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/reimage?api-version={apiVersion}
请求正文
{
"instanceIds": [
"myScaleSet1",
"myScaleSet2"
]
}
后续步骤
了解如何设置虚拟机规模集的升级策略。