在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的更多相关文章

  1. 使用 Azure CLI 2.0 从自定义磁盘创建 Linux VM

    本文说明如何在 Azure 中上传自定义的虚拟硬盘 (VHD) 或复制现有 VHD,并从自定义磁盘创建 Linux 虚拟机 (VM). 可以根据要求安装并配置 Linux 分发版,并使用该 VHD 快 ...

  2. 云计算之路-试用Azure:制作虚拟机自定义镜像

    虚拟机自定义镜像(Image)是一个很有用的功能,可以在一台虚拟机上配置好基本的系统环境,然后做个镜像,以后创建虚拟机直接从这个镜像创建,会省掉很多重复的配置工作. 阿里云与UCloud都有这个功能, ...

  3. Azure China (4) 管理Azure China Storage Account

    <Windows Azure Platform 系列文章目录> Update 2015-05-10 强烈建议使用AzCopy工具,AzCopy命令行工具,是经过优化的.高性能Azure S ...

  4. Azure China (10) 使用Azure China SAS Token

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 注意:本文介绍的是Azure China Storage Priva ...

  5. Windows Azure HandBook (2) Azure China提供的服务

    <Windows Azure Platform 系列文章目录> 对于传统的自建数据中心,从底层的Network,Storage,Servers,Virtualization,中间层的OS, ...

  6. Azure China (2) Azure China管理界面初探

    <Windows Azure Platform 系列文章目录> 首先是Q&A时间 1.我在Azure Global拥有测试账号或者免费的MSDN订阅账号,这个账号可以在国内Azur ...

  7. Azure China

    Azure China   Azure China (2) Azure China管理界面初探 摘要: <Windows Azure Platform 系列文章目录> 首先是Q&A ...

  8. 使用VS code 创建 Azure Functions,从blob触发,解析,发送至Service Bus

    更多内容,关注公众号:来学云计算 场景: 某设备定时于每天23:00左右将一天的运行日志.devicelogtxt上传到Azure Blob,期待Blob文件上传后, 自动通过Azure Functi ...

  9. 阿里云自定义镜像可以免费保存,ECS实例到期后自定义镜像手动快照不会被删除

    阿里云自定义镜像可以免费保存,ECS实例到期后自定义镜像手动快照不会被删除 4. ECS 实例释放后,自定义镜像是否还存在? 存在. 5. ECS 实例释放后,快照是否还存在? 保留手动快照,清除自动 ...

随机推荐

  1. 实现五种分组加密模式ECB,CBC,CFB,OFB,CTR

    没什么好说的,简单无脑! #include<iostream>using namespace std; int ECB(){ int duan[4]; int messageLen = 1 ...

  2. 爬虫入门系列(二):优雅的HTTP库requests

    在系列文章的第一篇中介绍了 HTTP 协议,Python 提供了很多模块来基于 HTTP 协议的网络编程,urllib.urllib2.urllib3.httplib.httplib2,都是和 HTT ...

  3. 【模板】链式前向星+spfa

    洛谷传送门--分糖果 博客--链式前向星 团队中一道题,数据很大,只能用链式前向星存储,spfa求单源最短路. 可做模板. #include <cstdio> #include <q ...

  4. ZOJ 3195 Design the city 题解

    这个题目大意是: 有N个城市,编号为0~N-1,给定N-1条无向带权边,Q个询问,每个询问求三个城市连起来的最小权值. 多组数据 每组数据  1 < N < 50000  1 < Q ...

  5. Unity C#集合

    集合分为两种:非泛型集合,泛型集合. 非泛型集合需要引入:System.Collections命名空间,其命名空间下的类有: ArrayList表示大小根据需要动态增加的对象数组. Hashtable ...

  6. js解析器(重要!)

    JavaScript有"预解析"的特性,理解预解析是很重要的,不然在实际开发中可能会遇到很多无法解析的问题,甚至导致程序bug的存在. #js预解析执行过程: 预解析:(全局作用域 ...

  7. 使用RandomAccessFile在两个java进程之间传递数据

    大部分情况下,我们面对在两个java进程只见传递数据的问题时,第一个想到的就是开server,然后通过socket收发消息.这方面有大量的框架可用,就不细说了.但如果两个进程是在一台机器上,那么还可以 ...

  8. python基本数据类型——set

    一.集合的定义 set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数 ...

  9. 日期时间插件flatpickr.js使用方法

    今天写代码时需要用一款插件来实现对input输入时间的格式控制,找到了两款功能合适而且比较美观的插件:基于Bootstrap的DateTimePicker.js和flatpickr.js插件.一开始先 ...

  10. uoj #58 【WC2013】糖果公园

    题面:http://uoj.ac/problem/58 正解:树上带修改莫队. 首先Orz vfk大神,树上莫队的套路还是很厉害的..http://vfleaking.blog.163.com/blo ...