首页 > 代码库 > 在Azure China用自定义镜像创建Azure VM Scale Set

在Azure China用自定义镜像创建Azure VM Scale Set

在Azure China用自定义镜像创建Azure VM Scale Set

在此感谢世纪互联的工程师Johnny Lee和Lan,你们给了我很大的帮助。因为Azure China的官网没有给出完整的步骤,所以我在这里把完整的步骤总结一下,希望对大家有所帮助。

 

Azure Global有一篇介绍如何用自定义镜像创建Azure VM Scale Set的文章。因为里面用到的"type": "Microsoft.Compute/images" 部分,我自己没在Azure China上跑通,所以这一部分靠其他大神继续探索吧。

https://docs.microsoft.com/zh-cn/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-mvss-custom-image

 

好的,现在让我们看看如何在Azure China里用自定义Image 创建 Azure VM Scale Set

 

第一步:从Azure Portal创建虚拟机

技术分享

虚拟机创建好了,Azure 除了帮我们创建虚拟机之外,还创建了许多别的东西

技术分享

第二步 : 连接到虚拟机,做一些自己需要的定制化,比如,我在根目录下建一个txt文件

技术分享

技术分享

第三步: 在虚拟机上运行SysPrep.exe

可参照官网文档,在此不再赘述了,唯一要强调的是不要忘记勾选“Generalize” checkbox。

https://www.azure.cn/documentation/articles/virtual-machines-windows-generalize-vhd/

 

第四步 : 等虚拟机完全关机后,运行PowerShell命令,创建虚拟机镜像

技术分享

 

可参考官方文档 https://www.azure.cn/documentation/articles/virtual-machines-windows-capture-image/,我自己用的命令是

Login-AzureRmAccount –EnvironmentName AzureChinaCloud

Select-AzureRmSubscription -SubscriptionId YourSubscriptionId

Stop-AzureRmVM -ResourceGroupName ‘liqiangtest‘ -Name ‘imagevm‘

Set-AzureRmVM -ResourceGroupName ‘liqiangtest‘ -Name ‘imagevm‘ -Generalized

Save-AzureRmVMImage -ResourceGroupName ‘liqiangtest‘ -VMName ‘imagevm‘ -DestinationContainerName ‘myvhds‘ -VHDNamePrefix ‘template‘ -Path d:\SampleTemplate.json

 

第五步:等上述命令运行完之后,打开d:\SampleTemplate.json,就可以看到那个镜像的Url了。

技术分享

 

第六步 : 通过VS2017发布VM Scale Set

新建一个ARG项目

技术分享

选择官方的模板

技术分享

访问https://github.com/dafoyiming/azure-quick-start-china/tree/meat/201-vmss-windows-customerimage-autoscale-existing-vnet,把azuredeploy.json和azuredeploy.parameters.json下载下来,并用他们的内容并替换WindowsVirtualMachineScaleSet.json和WindowsVirtualMachineScaleSet.parameters.json的内容

技术分享

 双击WindowsVirtualMachineScaleSet.parameters.json,填入必须的内容

那个Url,就是我们前面在d:\SampleTemplate.json里那个Vhd的Url。Subnet的话可以用我们在创建虚拟机时创建的虚拟网。SubSiteResourceId的话,可以用虚拟网的ResourceId拼上subnets/default(因为我的子网名叫default)

技术分享

技术分享

技术分享

 

右击Project,点击Deploy-》New-》Deploy,然后就静静等待吧,20分钟,Maybe

技术分享

显示我们创建成功。回到Azure Portal,在新创建的VM Scale Set中找到Public IP。然后用远程桌面连接public ip:50000,在我的case中连接139.219.232.229:50000。端口50000表示第一个Instance,50001是第二个instance,以此类推。。。

注:连不上的话,不要着急,有可能你的VM Scale Set正在updating,等几分钟后再连。或者连一下50001试试。

 

技术分享

 

 技术分享

连上后,打开C盘,可以看到有一个新建的Txt文件已经存在了。Happy Ending。。。

技术分享

 

在Azure China用自定义镜像创建Azure VM Scale Set