在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上跑通,所以这一部分靠其他大神继续探索吧。
好的,现在让我们看看如何在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的更多相关文章
- 使用 Azure CLI 2.0 从自定义磁盘创建 Linux VM
本文说明如何在 Azure 中上传自定义的虚拟硬盘 (VHD) 或复制现有 VHD,并从自定义磁盘创建 Linux 虚拟机 (VM). 可以根据要求安装并配置 Linux 分发版,并使用该 VHD 快 ...
- 云计算之路-试用Azure:制作虚拟机自定义镜像
虚拟机自定义镜像(Image)是一个很有用的功能,可以在一台虚拟机上配置好基本的系统环境,然后做个镜像,以后创建虚拟机直接从这个镜像创建,会省掉很多重复的配置工作. 阿里云与UCloud都有这个功能, ...
- Azure China (4) 管理Azure China Storage Account
<Windows Azure Platform 系列文章目录> Update 2015-05-10 强烈建议使用AzCopy工具,AzCopy命令行工具,是经过优化的.高性能Azure S ...
- Azure China (10) 使用Azure China SAS Token
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 注意:本文介绍的是Azure China Storage Priva ...
- Windows Azure HandBook (2) Azure China提供的服务
<Windows Azure Platform 系列文章目录> 对于传统的自建数据中心,从底层的Network,Storage,Servers,Virtualization,中间层的OS, ...
- Azure China (2) Azure China管理界面初探
<Windows Azure Platform 系列文章目录> 首先是Q&A时间 1.我在Azure Global拥有测试账号或者免费的MSDN订阅账号,这个账号可以在国内Azur ...
- Azure China
Azure China Azure China (2) Azure China管理界面初探 摘要: <Windows Azure Platform 系列文章目录> 首先是Q&A ...
- 使用VS code 创建 Azure Functions,从blob触发,解析,发送至Service Bus
更多内容,关注公众号:来学云计算 场景: 某设备定时于每天23:00左右将一天的运行日志.devicelogtxt上传到Azure Blob,期待Blob文件上传后, 自动通过Azure Functi ...
- 阿里云自定义镜像可以免费保存,ECS实例到期后自定义镜像手动快照不会被删除
阿里云自定义镜像可以免费保存,ECS实例到期后自定义镜像手动快照不会被删除 4. ECS 实例释放后,自定义镜像是否还存在? 存在. 5. ECS 实例释放后,快照是否还存在? 保留手动快照,清除自动 ...
随机推荐
- org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection
转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6709758.html Android Studio导入项目报错: org.gradle.api.inter ...
- JS比较思维模型
在这里,要分享的JS中两种思维方式: 1)面向对象风格示例: function Foo(who){ this.me = who; } Foo.prototype.identify = function ...
- bootstrap快速入门笔记(九)-响应式工具
一,可用的类 超小屏幕手机 (<768px) 小屏幕平板 (≥768px) 中等屏幕桌面 (≥992px) 大屏幕桌面 (≥1200px) .visible-xs-* 可见 隐藏 隐藏 隐藏 ...
- jquery中is()函数
is(expr)函数判断当前Jquery对象所匹配的元素是否存在.只要其中一种符合,就返回 true,否则返回 false. 如果 expr是个字符串,既视为Jquery的选择器,用于表示选择的元素. ...
- FrameBuffer系列 之 简单编程
一.Linux的帧缓冲设备 帧缓冲(framebuffer)是 Linux为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.这种操作是抽象的 ...
- python编程总结
1.signal.signal(signal.SIGCHLD,signal.SIG_IGN) 这句话的作用是 防止产生僵尸进程.详细解释看 http://www.cnblogs.com/Anker/p ...
- 查询表达式和LINQ to Objects
查询表达式实际上是由编译器“预处理”为“普通”的C#代码,接着以完全普通的方式进行编译.这种巧妙的发式将查询集合到了语言中,而无须把语义改得乱七八糟 LINQ的介绍 LINQ中的基础概念 降低两种数据 ...
- iOS-SQLite(FMDB)
在已经存在的表中,添加字段,更新表结构 /** Test to see if particular column exists for particular table in database @pa ...
- java.util.zip.ZipException: invalid LOC header (bad signature)
Debug on Server(Tomcat 9) 遇到这个exception: SEVERE: A child container failed during startjava.util.conc ...
- shapeless官方指南翻译总结
今天抽空把之前翻译的<The Type Astronaut's Guide to Shapeless>一书放到了Gitbook上,将其开源供所有人阅读并希望大家能够提出宝贵意见,地址为sh ...