我在Azure租赁中开始使用ARM ......
首先,我创建了一个资源组TEST-RG
。
我使用Portal在资源组中创建了一个网络接口。我们在资源组TEST-NIC
中将其称为TEST-RG
。
我还创建了一个名为DS2_V2
的{{1}}虚拟机,运行Windows 2012 R2以及TEST-VM
。
如何将TEST-RG
与TEST-NIC
相关联?我无法在Portal中看到这样做的方法,也无法在Portal中看到创建没有网络接口的VM的方法,这样我以后可以添加TEST-VM
。
所以,我认为这只能在PS中完成,但我并不清楚如何...
我丢失了情节吗?任何指导都将不胜感激。
由于
答案 0 :(得分:1)
首先,您无法部署没有NIC的ARM VM。
如果你看一下this脚本
它有行
$Interface = New-AzureRmNetworkInterface -Name $InterfaceName `
-ResourceGroupName $ResourceGroupName `
-Location $Location `
-SubnetId $VNet.Subnets[0].Id `
-PublicIpAddressId $PIp.Id
后来被
使用$VirtualMachine = Add-AzureRmVMNetworkInterface `
-VM $VirtualMachine `
-Id $Interface.Id
因此,如果您想使用现有的NIC,您只需要传递$ interface.id(来自Get-AzureRmVMNetworkInterface)
当您将这两者包装在VM部署脚本的其余部分时,您将构建一个具有NIC的VM
答案 1 :(得分:1)
目前,Azure确实不支持将NIC添加到现有VM。
我可以在Portal中看到创建没有网络的VM的方法 接口,这样我以后可以添加TEST-NIC
我们无法创建没有网卡的虚拟机,但我们可以使用PowerShell通过此网卡创建新的虚拟机。
以下是使用现有NIC 创建新VM的脚本。
$ResourceGroupName = "nic"
$Location = "Eastus"
$StorageName = "jasondisk321"
$StorageType = "Standard_LRS"
$VMName = "myvm"
$VMSize = "Standard_DS2_v2"
$OSDiskName = $VMName + "OSDisk"
$StorageAccount = New-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageName -Type $StorageType -Location $Location
$nic = Get-AzureRmNetworkInterface -Name jasonnic -ResourceGroupName $rgname
$nicId = $nic.Id
$Credential = Get-Credential
$vm = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$vm = Set-AzureRmVMOperatingSystem -VM $vm -ComputerName $VMName -Windows -Credential $Credential
$vm = Set-AzureRmVMSourceImage -VM $vm -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2012-R2-Datacenter" -Version "latest"
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $OSDiskName -VhdUri $OSDiskUri -CreateOption FromImage
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $vm