我使用 powershell 脚本在 azure 中创建虚拟机。
脚本如下:
$serviceName = 'nameOfTheService'
$vmName = 'nameOfTheVM'
$osDiskName = 'nameOfTheDisk'
$config = New-AzureVMConfig -Name $vmName -DiskName $osDiskName -InstanceSize $size | Add-AzureEndPoint -Name 'Remote Desktop' -LocalPort 3389 -PublicPort 3389 -Protocol tcp
New-AzureVM -ServiceName $serviceName -Location $location -VMs $config
第一次运行一切顺利。
如果我删除虚拟机并重新运行脚本,它会说“指定的 DNS 名称已被使用”,这是真的,因为我没有删除云服务。
有没有办法在创建机器时重用现有的云服务?
答案1
当你将多台虚拟机部署到一个 CouldService 时,你只需要为你创建的第一个虚拟机定义 AffinityGroup,而无需为后面的虚拟机定义 AffinityGroup。
#Create VM with a New Cloud Service
New-AzureVM –ServiceName $cloudService -VMs $vmConfig -VNetName $virtualNetwork -AffinityGroup $affinityGroup
#Create VM into an existing Cloud Service
New-AzureVM –ServiceName $cloudService -VMs $vmConfig -VNetName $virtualNetwork
Niraj Bhatt 有一篇关于此问题的优秀博客文章,标题为Windows Azure IAAS 和 PowerShell - 5 个重要提示。