0

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

谢谢

我已经浏览了文档。有人提到图像应该在 blob 存储上。但我无法弄清楚如何将图像从我的资源组移动到存储。

4

1 回答 1

2

您首先需要在 Azure 市场中发布映像:

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

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

对于市场图像,您需要在计划对象和 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 优惠时,您可以将其设置为公开、私有或隐藏。私有和隐藏之间的区别(公开应该很明显;))是私有将使图像仅对您列入白名单的订阅可用。隐藏意味着当用户浏览或搜索 vm 图像时图像不会显示,但它们可以在市场中的 Azure 应用程序报价(即模板)中使用。要在那里引用它,您需要向您的 VM 资源添加一个计划对象,此示例:

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

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

关于“隐藏”的最后说明 - 虽然用户无法访问门户、浏览/搜索、找到您的 vm 映像,但它可供 api 调用者使用 - 因此仍然可以在您的模板之外为想要找到它的人部署(这是故意的)。如果您真的需要比这更多的“安全性”,则必须将其设为私人报价。

这种帮助?

于 2019-09-21T19:24:04.367 回答