《Windows Azure Platform 系列文章目录

  本文介绍的是国外的Azure Global。如果是国内由世纪互联运维的Azure China,请参考这篇文档:

  Azure China (8) 使用Azure PowerShell创建虚拟机,并设置固定Virtual IP Address和Private IP

  之前给大家介绍很多关于Windows Azure的内容,基本上都是通过Windows Azure Management Portal来创建的。这种创建方式虽然直观简单,但是如果IT管理员需要同时创建1000台Azure服务的话,工作的代价是非常巨大的。

  其实我们可以通过Windows Azure PowerShell,通过命令行的方式来管理Windows Azure。这样在进行诸如批量创建Azure Virtual Machine的操作会变得非常简单。接下来就开始本章内容。

  如果你是第一次运行Azure PowerShell,请按照之前的文章,下载Azure PowerShell Settings文件并上传至云端。

  

  了解Azure的帮助命名

  1.我们首先运行命令:help azure,来看看Windows Azure提供了哪些命令行。我只截取了部分内容,如下图:

  

  在上图中我们可以看到,Azure PowerShell提供了非常多的命令。比如我们之前讲解过的Add-AzureVhd等命令。

  2.我们再运行命令:Get-AzureVMImage,这条命令是列出所有的Azure Virtual Machine镜像,其中包含Windows 和 Linux的。我只截取了部分内容,如下图:

  

  

  开始创建Azure虚拟机

  1.指定当前的存储

Set-AzureSubscription -SubscriptionName '<SubscriptionName>' -CurrentStorageAccount '<StorageAccount>'

  比如我想指定订阅为'Windows Azure MSDN - Visual Studio Ultimate',存储账户为'leivms'。

  执行以下命令: 

Set-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -CurrentStorageAccount 'leivms'

  2.如果我想通过Azure PowerShell新建Virtual Machine

  -VM Name为LeiAzureVM001

  -VM Size为ExtraSmall

  -VM Image为Windows Server 2012 Datacenter

  -Windows用户名为leizhang,密码为Pass@word1

  -DNS Name为LeiAzure

  -高可用组为AvbSet

  -数据中心选择East Asia

  3.先要设置镜像为Windows Server 2012 Datacenter,

$imageList = Get-AzureVMImage `
| where {$_.ImageName -eq "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201407.01-en.us-127GB.vhd"} $image=$imageList[0]

  执行结果如下:

  

  上图的$image命令可以显示我们需要的Windows Server 2012 DataCenter镜像的相关信息

 

  如果我想模糊查询AzureImage的话,可以通过星号(*)通配符,来模糊查询。

  比如笔者只想查询Windows Server 2012 Datacenter的镜像,PowerShell如下:

$imageList = Get-AzureVMImage `
| where {$_.ImageName -like "*Windows-Server-2012-Datacenter*"} $image=$imageList[0]

  4.创建虚拟机

New-AzureVMConfig -Name 'LeiAzureVM001' -InstanceSize 'ExtraSmall' -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' ` | Add-AzureProvisioningConfig -Windows -AdminUsername 'leizhang' -Password 'Pass@word1' ` | New-AzureVM -ServiceName 'LeiAzure' -Location 'East Asia'

  执行结果如下图:

  5.查询执行结果

  我们在PowerShell中看到Create Succeeded,其实创建Azure VM的过程是异步的。这时候我们查看Azure Management Portal,发现VM正在被创建。如下图:

  我们还可以通过Management Portal看到创建成功的虚拟机

  OK,我们已经创建完第一台虚拟机了,如果需要创建第2台虚拟机LeiAzureVM002,加入到之前创建的DNS: LeiAzure.cloudapp.net

  并且需要加入同一个高可用组'AvbSet',这句PowerShell语句按照下面执行:

New-AzureVMConfig -Name 'LeiAzureVM002' -InstanceSize 'ExtraSmall' -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' ` | Add-AzureProvisioningConfig -Windows -AdminUsername 'leizhang' -Password 'Pass@word1' ` | New-AzureVM -ServiceName 'LeiAzure' 

  

==========================================================

  请注意在上面的文章中,我们创建第一个Azure VM,需要同时创建Azure DNS,所以需要Location参数,如下:

New-AzureVMConfig -Name 'LeiAzureVM001' -InstanceSize 'ExtraSmall' -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' ` | Add-AzureProvisioningConfig -Windows -AdminUsername 'leizhang' -Password 'Pass@word1' ` | New-AzureVM -ServiceName 'LeiAzure' -Location 'East Asia'

  

  我们创建第二个Azure VM,会复用之前创建的Azure DNS,所以不需要Location参数,如下:

New-AzureVMConfig -Name 'LeiAzureVM002' -InstanceSize 'ExtraSmall' -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' ` | Add-AzureProvisioningConfig -Windows -AdminUsername 'leizhang' -Password 'Pass@word1' ` | New-AzureVM -ServiceName 'LeiAzure' 

==========================================================

  执行结果如下:

 

  创建简单的Linux虚拟机

  如果我想创建一个简单的Linux虚拟机,OS为CentOS。

  -VM Name为LeiLinuxVM001

  -VM Size为Medium

  -VM Image为CentOS 6.4

  -Windows用户名为adminuser, 密码为Abc@123456

  -DNS Name为LeiLinuxVM001

  -高可用组为AvbSet

  -数据中心选择East Asia

  1.获得CentOS虚拟机镜像,通过模糊查询获得CentOS镜像

$imageList = Get-AzureVMImage `
| where {$_.ImageName -like "*CentOS*"} $image=$imageList[]

  2.创建虚拟机命令:

New-AzureVMConfig -Name 'LeiLinuxVM001' -InstanceSize Medium -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' | Add-AzureProvisioningConfig -Linux -LinuxUser 'adminuser' -Password 'Abc@123456' |  New-AzureVM -ServiceName 'LeiLinuxVM001' -Location 'East Asia'

  执行结果

  观察执行结果:

  本博-三石Blog(下文简称本博),在本博客文章结尾处右下脚未注明转载、来源、出处的作品(内容)均为本博原创,本站对于原创作品内容对其保留版权, 请勿随意转载,如若真有需要的朋友可以发Mail联系我;转载本博原创作品(内容)也必须遵循“署名-非商业用途-保持一致”的创作共用协议,请务必以文 字链接的形式标明或保留文章原始出处和博客作者(Lei Zhang)的信息,关于本博摄影作品请务必注意保留(www.cnblog.com/threestone)等相关水印版权信息,否则视为侵犯原创版权 行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。

Azure PowerShell (5) 使用Azure PowerShell创建简单的Azure虚拟机和Linux虚拟机的更多相关文章

  1. 使用 PowerShell 创建 Linux 虚拟机

    Azure PowerShell 模块用于从 PowerShell 命令行或脚本创建和管理 Azure 资源. 本指南详细介绍了如何使用 Azure PowerShell 模块部署运行 Ubuntu ...

  2. [原]Windows Azure开发之Linux虚拟机

      Windows Azure是微软的云服务集合,用来提供云在线服务所需要的操作系统与基础存储与管理的平台,是微软的云计算的核心组成组件之一.其中windows azure提供的最重要的一项服务就是虚 ...

  3. Windows Azure开发之Linux虚拟机

     Windows Azure是微软的云服务集合,用来提供云在线服务所需要的操作系统与基础存储与管理的平台,是微软的云计算的核心组成组件之一.其中windows azure提供的最重要的一项服务就是 ...

  4. Ubuntu Linux虚拟机与windows快速创建共享文件夹

    有时候我们需要在windows下与远程Linux服务器传输文件,之前使用pscp传输文件很方便,但不方便传输多文件,同时也不便于查看.看了网上的教程总结创建共享文件夹的流程: 1.首先在本地windo ...

  5. Azure Powershell使用已有Image创建ARM非托管磁盘虚拟机

    生成Image映像文件,记录好Image的URL(下面URL为测试URL,具体请参考实际):ImageURL:https://hlmrgstoragen.blob.core.chinacloudapi ...

  6. 适用于 Azure 虚拟网络的常见 PowerShell 命令

    如果想要创建虚拟机,需要创建虚拟网络或了解可在其中添加 VM 的现有虚拟网络. 通常情况下,创建 VM 时,还需考虑创建本文所述资源. 有关安装最新版 Azure PowerShell.选择订阅和登录 ...

  7. 使用 HPC Pack 为 Azure 中的 Windows HPC 工作负荷创建和管理群集的选项

    利用 Microsoft HPC Pack 和 Azure 的计算与基础结构服务,创建和管理基于云的高性能计算 (HPC) 群集. HPC Pack 是在 Azure 和 Windows Server ...

  8. 使用Azure CLI创建Linux虚拟机

    Azure提供了三种方式创建虚拟机,分别是Azure CLI.Azure PowerShell和Azure门户.本文介绍使用Azure CLI来创建Linux虚拟机. 使用Azure CLI创建Lin ...

  9. Azure机器学习入门(二)创建Azure机器学习工作区

    我们将开始深入了解如何使用Azure机器学习的基本功能,帮助您开始迈向Azure机器学习的数据科学家之路. Azure ML Studio (Azure Machine Learning Studio ...

随机推荐

  1. Learn Git and GitHub without any code!

    What is GitHub? GitHub is a code hosting platform for version control and collaboration.代码托管平台. repo ...

  2. vue2.0有哪些变化

    vue2.0之后有哪些变化: 1.每个组件模板template,不再支持片段代码 之前: <template> <h3>vue-router+vue-loader</h3 ...

  3. jquery lazyload延迟加载技术的实现原理分析

    懒加载技术(简称lazyload)并不是新技术,它是js程序员对网页性能优化的一种方案.lazyload的核心是按需加载.在大型网站中都有lazyload的身影,例如谷歌的图片搜索页,迅雷首页,淘宝网 ...

  4. [spring源码学习]八、IOC源码-messageSource

    一.代码实例 我们在第八章可以看到,spring的context在初始化的时候,会默认调用系统中的各种约定好的bean,其中第一个bean就是id为messageSource的bean,我们了解这应该 ...

  5. 消息队列之ZeroMQ(C++)

    ZMQ是什么? 这是个类似于Socket的一系列接口,他跟Socket的区别是:普通 的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的 ...

  6. 获取终端ip地址

    网上找的,记录下 import java.io.*; import java.net.*; import java.util.*; //import org.apache.http.conn.util ...

  7. git 开发merge rebase 记录

    git status git lg git add src/ git commit -m "restful api and portal" //先commit到自己的本地branc ...

  8. Nodemanager Out of heap memory[fix bug全过程]

    问题: 自己写了一个yarn上的application,发现nodemanager过段时间,会out of memory退出,把nodemanager的heap memory从1G增大到2G也是无法避 ...

  9. PHPer不能不看的50个细节!

    1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数&quo ...

  10. 【Linux】crontab 定时任务

    7月份,公司海外运营国发生数据库联接未释放,造成连接池连接不足的情况, 当时查询并没有及时解决问题, 为了避免现场同事多次人工重启系统的,因此写了个shell脚本,通过crontab 实现系统重启,但 ...