用PowerShell在China Azure创建ARM虚拟机

Azure目前有两种工作模式:ASM和ARM。

在国内的Azure,我们都是使用ASM的模式。但这种模式有很多限制,比如每个VM必须有一个公网地址,部署不能批量部署等等。ARM对Azure的整体架构做了巨大的修改。在ASM中的很多限制都去掉了。下图是两种模式主要的差别:

今年中Azure在中国将全面支持ARM的模式。目前需要注意的是,在China Azure上需要采用PowerShell的版本是1.2.2。最新版的1.3.2和1.4.0有一些服务不能创建。具体的下载地址是:

https://github.com/Azure/azure-powershell/releases/download/v1.2.2-March2016/azure-powershell.1.2.2.msi

本文将介绍一些简单的基于ARM模式的Azure资源的创建和管理方式。

1.创建Resource Group

首先要添加ARM的账户:

Add-AzureRmAccount -EnvironmentName AzureChinaCloud

选择这个账号:

Select-AzureSubscription -SubscriptionName "xxxx" -Account [email protected]

创建Resouce Group

New-AzureRmResourceGroup -Name hwarm01 -Location "China East"

ResourceGroupName : hwarm01
Location : chinaeast
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/42e8b20d-29ec-40a5-b020-b2229f3dda56/resourceGroups/hwarm01

2. 创建网络相关内容

2.1 创建VNet

$subnet1 = New-AzureRmVirtualNetworkSubnetConfig -Name Subnet-1 -AddressPrefix 172.17.1.0/24
$subnet2 = New-AzureRmVirtualNetworkSubnetConfig -Name Subnet-2 -AddressPrefix 172.17.2.0/24
$subnet3 = New-AzureRmVirtualNetworkSubnetConfig -Name Subnet-3 -AddressPrefix 172.17.3.0/24
$vnet = New-AzureRmVirtualNetwork -Name hwarmvnet01 -ResourceGroupName hwarm01 -Location "China East" -AddressPrefix 172.17.0.0/16 -Subnet $subnet1,$subnet2,$subnet3

2.2 创建保留IP

$piplb = New-AzureRmPublicIpAddress -ResourceGroupName hwarm01 -Name hwpiplb01 -Location "China East" -AllocationMethod Static

2.3创建HASet

$has = New-AzureRmAvailabilitySet -ResourceGroupName hwarm01 -Name hwarmhas01 -Location "China East"

2.4 创建负载均衡

$fendip = New-AzureRmLoadBalancerFrontendIpConfig -Name fendip -PublicIpAddressId $piplb.Id
$bendip = New-AzureRmLoadBalancerBackendAddressPoolConfig -Name bendip
$inboundNATRule1 = New-AzureRmLoadBalancerInboundNatRuleConfig -name ssh1 -FrontendIpConfigurationId $fendip.Id -Protocol Tcp -FrontendPort 22122 -BackendPort 22
$inboundNATRule2 = New-AzureRmLoadBalancerInboundNatRuleConfig -name ssh2 -FrontendIpConfigurationId $fendip.Id -Protocol Tcp -FrontendPort 22222 -BackendPort 22
$lbprobe = New-AzureRmLoadBalancerProbeConfig -Name hwlbprobe -Protocol Tcp -Port 80 -IntervalInSeconds 15 -ProbeCount 2
$lbrule = New-AzureRmLoadBalancerRuleConfig -Name hwlbrule -FrontendIpConfigurationId $fendip.Id -BackendAddressPoolId $bendip.Id -ProbeId $lbprobe.Id -Protocol Tcp -FrontendPort 80 -BackendPort 80 -LoadDistribution SourceIP
$lb = New-AzureRmLoadBalancer -Name hwlb -ResourceGroupName hwarm01 -Location "China East" -FrontendIpConfiguration $fendip -BackendAddressPool $bendip -Probe $lbprobe -InboundNatRule $inboundNATRule1 -LoadBalancingRule $lbrule

2.5 创建网卡

$nic1 = New-AzureRmNetworkInterface -Name nic1 -ResourceGroupName hwarm01 -Location "China East" -PrivateIpAddress 172.17.1.4 -SubnetId $vnet.Subnets[0].Id -LoadBalancerBackendAddressPoolId $lb.BackendAddressPools[0].id -LoadBalancerInboundNatRuleId $lb.InboundNatRules[0].Id
$nic2 = New-AzureRmNetworkInterface -Name nic2 -ResourceGroupName hwarm01 -Location "China East" -PrivateIpAddress 172.17.1.5 -SubnetId $vnet.Subnets[0].Id -LoadBalancerBackendAddressPoolId $lb.BackendAddressPools[0].id -LoadBalancerInboundNatRuleId $lb.InboundNatRules[1].Id

3. 创建存储相关的

3.1. 创建存储账号

New-AzureRmStorageAccount -ResourceGroupName hwarm01 -Name hwarmsa01 -Type Standard_LRS -Location "China East"

3.2创建container

$sa = Get-AzureRmStorageAccount -ResourceGroupName hwarm01 -Name hwarmsa01
$sa | New-AzureStorageContainer -Permission Off vhds

3.3 定义OSDisk, DataDisk的URI

$OSdiskName = "hwarmvm01-osdisk.vhd"
$OSDiskURI = $sa.PrimaryEndpoints.Blob.AbsoluteUri + "vhds/" + $OSdiskName
$dataDiskName = "hwarmvm01-datadisk.vhd"
$dataDiskURI = $sa.PrimaryEndpoints.Blob.AbsoluteUri + "vhds/" + $dataDiskName

4. 定义VM的属性

4.1 定义VM基本属性

$vmname = "hwarmvm01"
$vmsize = "Standard_A1"
$cred = Get-Credential -UserName hengwei -Message hwarmvm01
$vm = New-AzureRmVMConfig -VMName $vmname -VMSize $vmsize -AvailabilitySetId $has.Id

4.2定义VMImage的信息

Get-AzureRmVMImage -Location "China East" -PublisherName OpenLogic -Offer CentOS -Skus 6.5

Version FilterExpression Skus Offer PublisherName Location Id

------- ---------------- ---- ----- ------------- -------- --

6.5.20150904 6.5 CentOS OpenLogic chinaeast /Subscriptions/42e8b20d-29ec-40a5-b020-b22...

6.5.20160329 6.5 CentOS OpenLogic chinaeast /Subscriptions/42e8b20d-29ec-40a5-b020-b22...

$vmimage = Get-AzureRmVMImage -Location "China East" -PublisherName OpenLogic -Offer CentOS -Skus 6.5 -Version 6.5.20160329

4.3定义VM操作系统信息

$vm = Set-AzureRmVMOperatingSystem -Linux -VM $vm -Credential $cred -ComputerName $vmname

4.4定义VM磁盘信息

$vm = Set-AzureRmVMSourceImage -VM $vm -PublisherName $vmimage.PublisherName -Offer $vmimage.Offer -Skus $vmimage.Skus -Version $vmimage.Version
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $OSdiskName -VhdUri $OSDiskURI -CreateOption fromImage
$vm = add-AzureRmVMDataDisk -VM $vm -Name $dataDiskName -VhdUri $dataDiskURI -CreateOption empty -DiskSizeInGB 100

4.5定义VM网卡信息

$vm = Add-AzureRmVMNetworkInterface -VM $vm -id $nic1.Id

5. 创建虚拟机

New-AzureRmVM -ResourceGroupName hwarm01 -Location "China East" -VM $vm
时间: 2024-10-12 06:08:56

用PowerShell在China Azure创建ARM虚拟机的相关文章

Azure ARM (4) 开始创建ARM Resource Group并创建存储账户

<Windows Azure Platform 系列文章目录> 好了,接下来我们开始创建Azure Resource Group. 1.我们先登录Azure New Portal,地址是:https://portal.azure.cn/ 2.登录以后,我们在用户界面的右上角选择相应的Azure订阅,如下图: 我们还可以在下图中,设置New Portal的显示语言等信息. 我们还可以点击下图红色区域,对左侧的菜单栏进行缩放. 另外,我们需要经常使用的Azure资源,比如虚拟机,存储等,我们可以点

通过Powershell远程管理Windows Azure上的虚拟机

Windows Azure上连接虚拟机想必不是件难事尤其是连接Windows操作系统简单点几下鼠标通过远程桌面RDPWindows Azure虚拟机会帮助你自动创建远程连接RDP的Profile你就能体验到公有云带来的便利.由于虚拟机外部连接都是通过端口映射连接的.当然基于区域网络目前Azure.CN中新创建的虚拟网络已经都是区域网络了当然你目前仍然可以创建基于地缘组的虚拟网络虽然并不推荐后可以创建虚拟机实例级别的公共IP地址所以你也可以跳过通过"云服务"端口映射的RDP而直接连接虚拟

在Global Azure上用Azure CLI创建ARM的VM和面向公网的负载均衡

在Global的Azure上,新的Portal和ARM已经正式发布.将来传统的portal和ASM将逐渐淡出. China Azure将在今年下半年推出新的Portal管理界面和ARM功能(即IaaS v2).本文将通过Azure CLI命令行的方式在ARM模式下,创建VM和负载均衡. 在ASM模式下,我们经常使用Endpoint和负载均衡SLB的功能.同样在ARM模式下,SLB也是一个非常重要的功能.但在ARM下和ASM的最重要的不同是:LoadBalancer不再是关联到VM上的属性了.就是

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

Azure虚拟机,默认情况下没有安装杀毒软件.如果您有此需求可以通过Azure 扩展进行安装,有关Azure反恶意软件的官方说明请参考:https://docs.azure.cn/zh-cn/security/azure-security-antimalware 对于Azure ARM虚拟机,只能通过Azure Powershell的方式在虚拟机中安装安全扩展,但是前提条件是虚拟机中已经正常安装了Azure Agent 1.可以通过如下方法判断虚拟机是否已经安装了Azure Agent a.虚拟

34.Azure创建自动伸缩虚拟机规模集(中)

接下来我肯定是需要利用之前创建的ASWTempOS镜像模板来创建虚拟机规模集,故图形化的界面是没法搞了,只能通过Powershell,在此之前我先把上面通过门户创建的虚拟机规模集删除掉.负载均衡删除掉.虚拟×××掉.创建虚拟机规模集时自动创建的存储账户删除掉. 接下来我将通过Powershell来使用ASWTempOS镜像模板来创建虚拟机规模集 创建规模集之前,需使用 New-AzureRmResourceGroup 创建一个资源组. 以下示例在eastasia位置创建一个名为AutoRG的资源

使用Azure CLI创建Linux虚拟机

Azure提供了三种方式创建虚拟机,分别是Azure CLI.Azure PowerShell和Azure门户.本文介绍使用Azure CLI来创建Linux虚拟机. 使用Azure CLI创建Linux虚拟机一共分为以下三步: 1. 以管理员方式打开PowerShell,运行az login命令登录Azure CLI 2. 创建资源组,运行命令: az group create --name XXX --location XXX 3. 创建虚拟机,运行命令:az vm create --res

创建和使用windows azure的linux虚拟机

直接上图 这里推荐使用SecureCRT,Secure CRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单的说是Windows下登录UNIX或Linux服务器主机的软件.SecureCRT支持SSH,同时支持Telnet和rlogin协议. Azure上创建的linux虚拟机缺省是没有root权限的,用户也无法用root登录. 要用root权限执行某项操作,用sudo即可,如 创建和使用windows azure的linux虚拟机,布布扣,bubuko.com

Windows Azure上的Odoo(OpenERP)-1.创建Ubuntu虚拟机,安装PostgreSQL 数据库

前提是您必须拥有Windows Azure的账号,如果没有的话,可以去Windows Azure 中国区网站申请免费试用账号.哈哈,我就是第一批申请的试用账号,感觉自己挺幸运的.申请的过程就不写了,请自行Google! 哦,对不起(GFW),请自行百度. 首先请登录Windows Azure,然后我们来大踏步的前进吧! 1.首先让我们创建一个运行Ubuntu操作系统的虚拟机 点击界面左下角的"新建"   会弹出一个对话框,让你选择新建运行何种操作系统的虚拟机 我选择的Ubuntu Se

Windows Azure创建虚拟机

登陆Windows Azure管理门户. 在命令窗格中, 点击新建. 3. 在Compute-Virtual     Machine中点击From Gallery. 4. 在第一个配置界面选择你需要的镜像进行虚拟机的部署,在本示例中我们选择Windows Server 2012 R2 Datacenter. 点击箭头继续. 5. 在第二个配置界面,指定你自己虚拟机的属性,点击箭头继续. NOTE: 在此处输入的用户名称为管理员账号,你需要创建属于这个常昊的密码. 6. 在第三个配置界面,你需要指