《Windows Azure Platform 系列文章目录

  在开始本章内容之前,我们需要准备好Azure VM的镜像,具体可以参考:Azure VMSS (2) 对VM执行Generalize操作

  1.我们先查看到之前创建的镜像(Image)的资源ID。我们首先点击All Service,搜索Image,点击下图的Images

  

  

  2.找到我们之前创建的Azure Image的资源ID

  我们复制下面的Resource ID里面的内容,到记事本上

  

  3.我们创建的VMSS,可以添加到新的Azure Virtual Network里,或者加入到现有Virtual Network里。

  我们这里演示加入新的VNet,可以准备以下资源

  (1)创建1个新的资源组,命名为VMSS-RG

  (2)在这个资源组里,创建1个新的Azure Virtual Network,我们命名为VMSS-VNet

  (3)在这个VNet里,创建1个子网,命名为subnet-1

  

  4.我们需要用到的VM Template,请参考:

  请注意这个template是手动横向扩展,如果需要自动横向扩展,可以在Azure Portal进行配置

  https://github.com/leizhang1984/AzureChinaPowerShell/blob/master/ARM/14VMSS-CustomImag/vmssimge-customImage.json

  5.熟悉Azure Template的读者都知道,Azure Template有两个json文件。

  template.json是描述部署所需要的资源,比如VM, Virtual Network等

  parameters.json,是描述部署资源的参数,比如虚拟机的机器名,登录的用户名和密码,虚拟网络的用户名和密码等等

  6.我们修改vmssimge-customImage.json里面的参数

  (1)vmSku,我们修改defaultValue,设置为每个VM的Instance大小。

  (2)vmssName,我们修改defaultValue,设置为VMSS的名称

  (3)instanceCount,我们修改defaultValue,设置为VMSS的节点数量

  (4)adminUsername,我们修改defaultValue,设置为VMSS节点登录的用户名

  (5)adminPassword,我们修改defaultValue,设置为VMSS节点登录的密码

  (6)existingVnetName,我们修改defaultValue,设置为现有的虚拟网络名称

  (7)existingSubnetName,我们修改defaultValue,设置为现有虚拟网络的子网名称

  (8)existingVnetResourceGroup,我们修改defaultValue,设置为现有资源组名称。请注意上面的资源都要保存在这个资源组里

  (9)最后,我们还要修改virtualMachineProfile里面imageReference信息,把id设置为我们在步骤2的Resource ID

  7.把vmssimge-customImage.json文件修改后,保存在本地PC的D盘根目录

  8.安装并运行Azure PowerShell命令,具体请参考:

  修改下面的参数

Add-AzureRmAccount -Environment AzureChinaCloud

$subscriptionName='[输入订阅名称]'

Select-AzureRmSubscription -SubscriptionName $subscriptionName

$rgName='资源组名称'

New-AzureRmResourceGroupDeployment -Name VMSSDeployment -ResourceGroupName $rgName -TemplateFile 'D:\vmssimge-customImage.json'

  9.PowerShell执行过程中,我们可以观察到,Azure Template创建了1个VMSS。如下图:

  

  

  10.点击Instances发现,虽然我们在template中设置了VMSS Instance数量为3,但是还是会创建若干个节点

  

  11.我们稍等片刻后,VMSS 部署完成,Instance数量就会变成我们设置的数量3

  

  12.我们查看VMSS之前的公网IP地址,名称为vmssxxxlb,就可以看到我们在Azure Image里面安装的IIS欢迎界面。图略

  13.如果我们要配置自动横向扩展的话,我们可以按照下图操作

  点击Scaling,增加一个横向扩展的条件,点Add a Rule。我们可以根据CPU利用率,或者网络流量(Network In, Network Out),设置自动横向扩展

  

Azure VMSS (3) 修改VM Template并创建VMSS的更多相关文章

  1. Azure VMSS (2) 对VM执行Generalize操作

    <Windows Azure Platform 系列文章目录> 在本章中,笔者将介绍如何创建Azure Template镜像模板. 1.首先,我们先创建1台Windows Server 2 ...

  2. 在 Azure 中的 Linux VM 上创建 MongoDB、Express、AngularJS 和 Node.js (MEAN) 堆栈

    本教程介绍如何在 Azure 中的 Linux VM 上实现 MongoDB.Express.AngularJS 和 Node.js (MEAN) 堆栈. 通过创建的 MEAN 堆栈,可以在数据库中添 ...

  3. 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构

    若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...

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

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

  5. 【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)

    在参考Azure官方文档进行VM创建时,发现其中没有包含如何设置NSG的内容,以及如何在创建时就添加数据磁盘的代码(设置磁盘为SSD类型).本文的内容以"使用 Java 创建和管理 Azur ...

  6. Azure ARM (11) ARM模式下,创建虚拟机并配置负载均衡器

    <Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 在前几章中,我们做了准备工作: 1.创建ARM Resouce Group,叫Lei ...

  7. Azure的两种关系型数据库服务:SQL Azure与SQL Server VM的不同

    Azure的两种关系型数据库服务:SQL Azure与SQL Server VM的不同 <Windows Azure Platform 系列文章目录> 如果熟悉Windows Azure平 ...

  8. 如何在 Azure 中均衡 Linux 虚拟机负载以创建高可用性应用程序

    负载均衡通过将传入请求分布到多个虚拟机来提供更高级别的可用性. 本教程介绍了 Azure 负载均衡器的不同组件,这些组件用于分发流量和提供高可用性. 你将学习如何执行以下操作: 创建 Azure 负载 ...

  9. 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题

    本文提供详细的故障排除步骤,用于为基于 Windows 的 Azure 虚拟机诊断和修复复杂的远程桌面错误. Important 若要消除更常见的远程桌面错误,请务必先阅读远程桌面的基本故障排除文章, ...

随机推荐

  1. 亲自打造Deferred对象

    经过对比之后,决心学习jQuery,自己打造一个Deferred对象.var util = require('./util.js');function Callbacks() { var list = ...

  2. Web版记账本开发记录(七)

    经过不懈的努力,虽然开发出来的还有瑕疵,但今后我会继续努力的.

  3. 牛客练习赛42 C 出题的诀窍

    题目链接:https://ac.nowcoder.com/acm/contest/393/C 这个题就是对于每个数算贡献,如果有相同的数,只计算先出现的数的贡献 对于数x,若它在前i行的数目分别为a1 ...

  4. spring boot扫描mapper文件

    一个简单的功能,百度查的都是XX,谷歌万岁. 因为扫描不到自动生成的mapper就无法注入到service 方案一.@Mapper 如果Mapper文件所在的包和你的配置mapper的项目的pom定义 ...

  5. ThinkPHP5.0源码学习之注册错误和异常处理机制

    在base.php文件中,用一句代码\think\Error::register();实现错误和异常处理机制的注册. // 注册错误和异常处理机制 \think\Error::register(); ...

  6. 使用cookie记录页面跳转次数,然后从最后一级页面跳转回首页面

    1.首先,给出cookie设置,获取,删除的操作函数. function setCookie(name,value) {          var Days = 30;          var ex ...

  7. multipath配置详细参考

    1.配置文件结构及位置multipath配置文件/etc/multipath.conf由节(section),子节(sub-section),属性(atribute)和属性值(value)等组成,其结 ...

  8. vue中父组件给子组件传值,子组件给父组件传值

    1.父组件传给子组件 父元素中 子元素中(通过props传值) 2.子组件传给父组件 子元素中(this.$emit(传过去的名字,传的参数)) 父元素中 通过changeShow的参数data 把修 ...

  9. Win10系列:C#应用控件基础15

    ProgressRing控件 上一小节讲解了ProgressBar控件的使用方法,ProgressRing控件和ProgressBar控件都是用来显示应用程序当前任务的运行进度信息,区别在于Progr ...

  10. 为Linux技术学习推荐看的书籍—《Linux就该这么学》

    成长,是一种经历:经历,是一种人生的体验.人生的意义不在于我们拥有了什么,而在于从中我们体悟了什么.在这短短的三年,却在我的人生中弥足珍贵,在脑海中记忆犹新,在这大学三年里,我从一个莽撞少年成长为一名 ...