Azure devops 将自定义映像应用于使用自定义映像创建的现有azure scaleset

Azure devops 将自定义映像应用于使用自定义映像创建的现有azure scaleset,azure-devops,azure-vm-scale-set,Azure Devops,Azure Vm Scale Set,我已经使用自定义图像创建了azure scaleset。当我尝试使用“Azure VMS:update with immutable machine image”(Azure VMS:update with immutable machine image)使用另一个自定义映像升级缩放集时,我遇到以下错误 无法更新VMS TestVMSSAP的映像。错误:vms testvmssapp 无法更新,因为它使用平台映像。只有一个VMS是 当前使用的自定义图像可以更新 自定义scaleset图像是否缺少

我已经使用自定义图像创建了azure scaleset。当我尝试使用“Azure VMS:update with immutable machine image”(Azure VMS:update with immutable machine image)使用另一个自定义映像升级缩放集时,我遇到以下错误

无法更新VMS TestVMSSAP的映像。错误:vms testvmssapp 无法更新,因为它使用平台映像。只有一个VMS是 当前使用的自定义图像可以更新

自定义scaleset图像是否缺少某些内容

"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"
            }
          },

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

因为您已使用基本图像windows-2012-R2-datacenter创建了比例集。它是从。将映像从平台更改为自定义不支持此操作。有关更多信息,请阅读和

在这种情况下,可以使用新的自定义图像直接重新创建比例集,也可以删除旧的比例集。这用于从自定义图像创建比例集

我打开了一个关于任务Azure VM规模集部署的问题,您可以跟踪它

作为解决方法,您可以尝试使用管道中的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文件,并使用此VHD文件创建VSS。然后,您将拥有一个具有URL的图像资源,您可以将其用于任务Azure VM规模集部署。请查看相关信息

我将在周末进行尝试,并告诉您进展如何,有什么好消息吗?是的,下面的一条确实有效。但Azure Devops“构建不可变机器映像”任务似乎已过时,并且在使用默认打包器模板=自动生成时无法使用。它没有设置“托管映像名”:“myPackerImage”,因此它没有创建托管映像,但存储中有vhd。此任务的输出是指向vhd的url。此外,任务“Azure VMS:使用不可变机器映像更新”已过时,仅用于访问。vhd映像url和无托管映像如果“构建不可变机器映像”任务遇到问题,您可以报告它。由于下面的答案有效,如果您不介意,您现在可以接受它作为答案。