如何为市场报价引用虚拟机映像

How to reference a virtual machine image for a marketplace offer

我已经在 Azure 环境中从自定义虚拟机 运行 创建了一个虚拟机映像。 现在我想将该映像用作我在 Azure 市场中的解决方案的基本操作系统。 我如何在市场的 mainTemplate 中引用此图像。 当我检查图像资源时,我没有看到任何源 blob uri。 有一个资源 ID,但我认为在我的订阅之外无法访问它。

谢谢

我已经阅读了文档。有人提到图像应该在 blob 存储上。但是我不知道如何将图像从我的资源组移动到存储。

您首先需要在 Azure Marketplace 中发布图像:

https://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal/virtual-machine/cpp-create-offer

完成后,您可以通过 PublisherID、OfferId、SKU 和版本引用模板中的图片

对于市场图像,您需要在 plan 对象和 imageReference 对象上设置值,为了好玩,我们在每个对象中设置了不同的 属性 名称。

参见:https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md#vm-image-references--disks

编辑:

好的,要在市场中跨租户使用基本映像,您需要发布一个 VM 映像 - 在整个过程中,您需要将您的磁盘变成一个 blob(如果您的基本映像使用托管磁盘)和该 blob 将提供给市场:

https://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal/virtual-machine/cpp-virtual-machine-offer

创建该 VM 提议时,您可以将其设置为 public、私有或隐藏。 private 和 hidden 之间的区别(public 应该很明显 ;))是 private 将使图像仅对您列入白名单的订阅可用。隐藏意味着当用户浏览或搜索 vm 图像时图像不会显示,但它们可以在市场中的 Azure 应用程序报价(即模板)中使用。要在那里引用它,您需要将计划对象添加到您的 VM 资源,此示例:

https://github.com/Azure/azure-quickstart-templates/blob/master/201-vmss-datascience/azuredeploy-ubuntu.json#L41-L51

会给你一个如何做的想法。

关于 "hidden" 的最后说明 - 虽然用户无法访问门户,browse/search,但可以找到您的虚拟机映像,api 调用者可以使用它 - 所以仍然有可能为想要找到它的人(这是故意的)在你的模板之外部署。如果您确实需要 "security" 的数量,则必须将其设为专属优惠。

有帮助吗?