我在使用自定义映像在 Azure 上启动 VM 时遇到问题。
我如何准备自定义图像:
- 我有一个基于来自 Azure 市场的图像的虚拟机正在运行。
- 我停止了该虚拟机并导出了操作系统磁盘(下载了 VHD 文件)。
- 我将该 VHD 文件作为 BLOB 上传到 Azure 上的存储帐户。
- 我创建了一个新的图像(图像 - >创建),选择之前上传的 VHD 文件作为“存储 Blob”。
通过 UI 启动虚拟机
- 当我尝试通过 Azure Web UI 使用自定义映像创建新的 VM 时,部署失败并显示以下错误消息:
{
"code": "ResourceDeploymentFailure",
"message": "The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'."
}
通过 Azure Golang SDK 启动 VM
- 当我尝试从代码级别启动虚拟机并
armcompute.VirtualMachineProperties
用图像 ID 填充时:
StorageProfile: &armcompute.StorageProfile{
ImageReference: &armcompute.ImageReference{
ID: to.Ptr("/subscriptions/MY_SUBSCRIPTION/resourceGroups/MY_RESOURCE_GROUP/providers/Microsoft.Compute/images/MY_IMAGE_NAME"),
},
执行VirtualMachinesClient.BeginCreateOrUpdate
方法时,我收到以下错误:
从 Marketplace 映像或源自 Marketplace 映像的自定义映像创建虚拟机需要请求中的计划信息
这是否意味着我总是需要记住我的自定义映像基于哪个 Marketplace 映像?我计划根据在不同系统上运行的虚拟机创建几个不同的自定义映像,我认为以后要使用这些映像,只需映像 ID 就足够了。
当然,当我Plan
用一些随机值填充字段时,会出现错误:
未找到优惠 ID 为“YOUR_OFFER”的优惠。