将自定义图像应用于使用自定义图像创建的现有天蓝色比例集

时间:2019-11-01 11:51:25

标签: azure-devops azure-vm-scale-set

我使用自定义图像创建了天蓝色的比例尺。当我尝试使用“ Azure VMSS:使用不可变的机器映像更新”用另一个自定义映像升级比例尺集时,出现以下错误

  

无法更新VMSS testvmssapp的映像。错误:VMSS testvmssapp   由于它使用平台映像,因此无法更新。仅VMSS   当前正在使用自定义图像的可以进行更新。

自定义比例尺图像是否缺少某些内容?

"storageProfile": {
            "osDisk": {
              "createOption": "FromImage",
              "caching": "ReadWrite",
              "managedDisk": {
                "storageAccountType": "Standard_LRS"
              },
              "diskSizeGB": 127
            },
            "imageReference": {
              "id": "/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx/resourceGroups/testvmssdeployment/providers/Microsoft.Compute/images/MyCustomImage"
            }
          },

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

OS Updates获取比例集,如果您使用Azure 平台图像,则可以通过修改imageReference来更新图像。对于平台映像,通常为映像参考版本指定“最新”。如果您使用自定义图片,则可以通过更新imageReference ID来更新图片。

由于您创建了带有基本图像windows-2012-R2-datacenter的比例尺集。它是从platform Images部署的。通过将图像从平台更改为自定义不支持该功能。有关更多信息,请阅读here1here2

在这种情况下,您可以使用新的自定义图像直接重新创建比例尺集或删除旧的比例尺集。 the REST API用于根据自定义图像创建比例集。

答案 1 :(得分:0)

我打开了一个有关您要跟踪的任务 Azure VM规模集部署的问题here

作为解决方法,您可以尝试通过在管道中使用azure powershell任务或azure cli任务来更新图像,以在脚本下运行。

Azure Powershell:

Update-AzVmss `
    -ResourceGroupName "myResourceGroup" `
    -VMScaleSetName "myScaleSet" `
    -ImageReferenceId /subscriptions/{subscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myNewImage

Azure CLI:

az vmss update \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --set virtualMachineProfile.storageProfile.imageReference.id=/subscriptions/{subscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myNewImage

此问题的另一个解决方法是创建一个VHD文件,并使用此template使用该VHD文件创建VSS。然后,您将获得一个图像资源,该资源的URL可用于任务Azure VM规模集部署。请检查here以获取信息