12.准备完了模板文件,我们使用Powershell来创建VMSS for Linux的自动扩展集合,首先登陆到Azure中国的ARM账号:

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

13. 如果你有多个订阅的话,选择你要创建VMSS的正确订阅:

Select-AzureRmSubscription -SubscriptionId XXXXXXXXXX

14. 如果你之前没有创建过资源组,创建一个,所有自动扩展集的资源都放在这个资源组下面:

New-AzureRmResourceGroup -Name linuxvmssgroup -Location "China North"

15. 进入到你放置模板所在的目录,利用你创建的ARM模板和参数文件,创建Linux的自动扩展集合:

New-AzureRmResourceGroupDeployment -Name vmssautoscaledeployment -ResourceGroupName linuxvmssgroup -TemplateFile .\vmsslinuxsample.json -TemplateParameterFile .\vmsslinuxsample-Parameters.json

可以看到VMSS已经成功创建,所使用的OS是Ubuntu 14.04.3, 虚拟机大小是标准的A1

16. 进入到新的管理portal,https://portal.azure.cn, 选择资源组,查找你创建的linuxvmssgroup资源组,可以看到自动扩展集已经创建成功,包含自动扩展集,负载均衡器,公共IP地址,以及用于存放虚拟机的5个存储账号

点开虚拟机扩展集合mylinuxau,你可以看到在此集合中有两个虚拟机,并且自动缩放(auto scaling)是打开的,会按照规则自动缩放:

如何对自动扩展集进行管理?

在刚开始的时候我们提到VMSS提供了PAAS的自动扩展,IAAS的管理灵活性,那么我们创建了自动扩展集以后,怎么能对我的集合中的集合进行管理昵?

1.SSH登陆

对于Linux虚拟机,我们希望能够直接登陆到虚拟机内部,进行操作,那么在我们创建的VMSS中,怎么做昵?实际上我们使用了LB,在入站规则上我们做了NAT,登陆到portal,选择资源组下的负载均衡器,选择入站NAT规则,会看到我们的两个实例对外是映射端口是TCP/50000,TCP/50002:

点击我们的第一个实例,可以看到,实际上这个虚拟机的22端口是目标端口,对外映射为50000,那么我们可以使用IP地址+端口50000登录虚拟机进行管理:

打开putty,输入IP地址139.217.13.118.端口50000,你就可以正常登陆Linux,做各种操作:

2.利用Powershell来管理VMSS:当然我们可以用PS来获得VMSS相关信息,停止或者启动当前的VM:

获得VMSS的详细信息

Get-AzureRmVmss -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau

获得VMSS中instance的详细信息:

Get-AzureRmVmssVM -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau -InstanceId 0 -InstanceView

关闭当前VMSS中的某个虚拟机:

Stop-AzureRmVmss -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau -InstanceId 1

启动当前VMSS中的某个虚拟机:

Start-AzureRmVmss -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau -InstanceId 0

在后续的章节中,我会为大家介绍VMSS的基本原理,最佳实践,以及如何对VMSS进行测试和调试,敬请期待:)

使用ARM模板部署自动扩展的Linux VMSS(2)的更多相关文章

  1. 使用ARM模板部署自动扩展的Linux VMSS(1)

    在Azure之前的ASM版本或者经典模式中,用户使用Azure Website,Azure Cloud Service等PAAS服务,可以实现一定程度上的自动扩展(auto scaling),但有着诸 ...

  2. 使用ARM和VMSS创建自动扩展的web集群

    在很多的商业场景中,用户的访问,峰值时间都是很难预测的,尤其是做一些市场推广活动和促销的时候,到底部署什么规模的web集群合适,这一直是个问题,部署过量会造成高成本和资源不必要的浪费,部署过少,如果到 ...

  3. 使用ARM模板在Azure中国大规模部署DCOS集群

    容器技术是目前非常流行的技术,尤其是在以Docker作为容器引擎的推动下,让容器的轻量级,可移植,自包含,隔离性等的上了一个新的台阶,目前谈及Dev/Ops,CI/CD很少能够绕过Docker的. A ...

  4. Azure ARM虚拟机部署反恶意软件-安全扩展

    Azure虚拟机,默认情况下没有安装杀毒软件.如果您有此需求可以通过Azure 扩展进行安装,有关Azure反恶意软件的官方说明请参考:https://docs.azure.cn/zh-cn/secu ...

  5. 【Azure Developer】Github Action部署资源(ARM模板)到Azure中国区时,遇见登录问题的解决办法

    问题描述 在参考文档"使用 GitHub Actions 部署 ARM 模板"一文中,由于是在中国区Azure上操作,所以生产的部署凭证为中国区凭证.当创建工作流时,在登录到Azu ...

  6. 深入理解Azure自动扩展集VMSS(3)

    在实际使用过程当中,使用VMSS有一些最佳实践的建议和限制,便于你在做自动扩展设计的时候进行考虑: 关于VMSS 如果你使用的是系统镜像,一个扩展集中虚拟机数量不能超过100 无论是在ASM还是ARM ...

  7. 深入理解Azure自动扩展集VMSS(2)

    VMSS中Auto Scale基本原理及诊断 在前面的介绍中,我们看到通过定义规则可以实现虚拟机扩展集的auto scale,那么在后台执行上VMSS的扩展依赖于哪些组件,出现问题(比如自动扩展没有发 ...

  8. 深入理解Azure自动扩展集VMSS(1)

    前文中已经详细介绍了如何配置和部署Azure的虚拟机扩展集VMSS进行自动扩展,但在实际使用过程当中,用户会出现更进一步使用的一些问题,VMSS基本扩展原理及怎么简单调试?如何进行手动扩展?怎么使用自 ...

  9. MVC5模板部署到mono

    VS2013中的MVC5模板部署到mono上的艰辛历程 2014-10-27 09:30 by FuzhePan, 3954 阅读, 46 评论, 收藏, 编辑 部署环境:CentOS7 + Mono ...

随机推荐

  1. c#添加事物(全部执行和带保存点的执行)

    全部执行 protected void Button2_Click(object sender, EventArgs e) { // 执行事务 SqlConnection con = new SqlC ...

  2. List myList=new ArrayList()的理解

    ArrayList不是继承List接口,是实现了List接口.你写成ArrayList arrayList = new ArrayList();这样不会有任何问题.和List list = new A ...

  3. php跨服务器传递对象

    最近因为研究跨域名,跨服务器的问题,所以无聊,就想到了一个跨服务器传递对象的问题. 想要跨服务器传递数据,那么就要使用到get或者post提交. 我这里的方法有点复杂,但是因为平时工作时,有封装相应的 ...

  4. HDU 4611Balls Rearrangement(思维)

    Balls Rearrangement Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Othe ...

  5. Compound class names are not supported. Consider searching for one class name and filtering the results

    原文地址:http://stackoverflow.com/questions/20361643/compound-class-names-are-not-supported-consider-sea ...

  6. 【转】Android源码下载过程的一些注意事项

    原文网址:http://www.360doc.com/content/14/0113/11/11948835_344809459.shtml 其它一些事项说明: 1.在源代码下载过程中,我们在源代码下 ...

  7. Visual Assist X在Windows 8.1下出现中文乱码的解决方法

    这主要是输入法造成的,我的输入法中有US.中文.搜狗输入法三个输入法:通过搜狗输入法管理器把“中文”去掉,或者通过语言首选项把“中文”去掉就不会在出现乱码. 这个办法的思路来自于http://www. ...

  8. postGreSQL数据库部署及简单使用

    1,deployByRuiyIns rpm -ivh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.no ...

  9. 不得不看的JVM内存管理

    作为一个任何完整的机器都会有内存管理这块组成结构.作为jvm也有自己的内存管理. 1.那么在java中哪些组件需要使用内存. a)        Java堆 b)       线程:线程是在jvm运行 ...

  10. 动态规划之最长公共子序列LCS(Longest Common Subsequence)

    一.问题描述 由于最长公共子序列LCS是一个比较经典的问题,主要是采用动态规划(DP)算法去实现,理论方面的讲述也非常详尽,本文重点是程序的实现部分,所以理论方面的解释主要看这篇博客:http://b ...