Azure Image Builder中SharedImageVersion的Plan信息配置问题咨询
一、正确配置SharedImageVersion的Plan信息
由于你的共享镜像源自Azure市场的CIS镜像,必须在Image Builder模板中正确传入原市场镜像的Plan信息,具体步骤如下:
获取原CIS市场镜像的Plan信息
通过Azure CLI执行以下命令查询:az vm image show --publisher cis-cat --offer windows-server-2022-cis --sku 2022-datacenter-gen2-l1 --location <你的资源区域>输出结果中的
plan字段会包含name、product、publisher三个关键值,这就是需要的Plan信息。在Image Builder模板中添加planInfo配置
在source节点下补充planInfo,字段值必须与原市场镜像的Plan信息完全匹配,示例配置如下:"source": { "type": "SharedImageVersion", "imageVersionID": "/subscriptions/somesubid/resourceGroups/myRg/providers/Microsoft.Compute/galleries/mygal/images/mywinimage/versions/latest", "planInfo": { "planName": "2022-datacenter-gen2-l1", "planProduct": "windows-server-2022-cis", "planPublisher": "cis-cat" } }更新共享镜像库的镜像定义
如果你的共享镜像库(Shared Image Gallery)中的镜像定义(Image Definition)未包含Plan信息,需先执行更新:az sig image-definition update --resource-group myRg --gallery-name mygal --gallery-image-definition mywinimage --plan-name "2022-datacenter-gen2-l1" --plan-product "windows-server-2022-cis" --plan-publisher "cis-cat"Image Builder会校验共享镜像版本对应的镜像定义是否包含正确的Plan信息,这一步不可省略。
二、替代方案:直接用Azure市场CIS镜像作为Image Builder源
你可以跳过中间创建虚拟机再制作共享镜像的流程,直接让Image Builder基于市场CIS镜像自定义,前提是正确配置Plan信息并接受市场条款:
Image Builder模板source配置示例
"source": { "type": "PlatformImage", "publisher": "cis-cat", "offer": "windows-server-2022-cis", "sku": "2022-datacenter-gen2-l1", "version": "latest", "planInfo": { "planName": "2022-datacenter-gen2-l1", "planProduct": "windows-server-2022-cis", "planPublisher": "cis-cat" } }接受市场镜像条款
执行以下CLI命令确认订阅已接受CIS镜像的使用条款:az vm image terms accept --publisher cis-cat --offer windows-server-2022-cis --sku 2022-datacenter-gen2-l1
三、常见错误排查
若添加planInfo后仍报错,检查以下内容:
planName、planProduct、planPublisher是否与原市场镜像完全一致(注意大小写、拼写)- 共享镜像库的镜像定义是否已添加正确的Plan属性
- 订阅是否已接受该市场镜像的使用条款
内容的提问来源于stack exchange,提问作者scv
相关产品推荐
相关产品推荐

