在单个PowerShell脚本中并行创建多个Azure VM

时间:2017-07-04 18:58:46

标签: powershell azure parallel-processing virtual-machine

我可以使用PowerShell创建Azure VM。

我必须创建4个VM并行。

PowerShell中的任何功能是否可以并行创建多个VM?像后台作业或使用线程类型为所有不同的VM调用相同的函数?

3 个答案:

答案 0 :(得分:1)

您是否考虑过VM Scale Sets?它们以高可用性配置并行自动部署VM,并使管理这些VM变得更加容易(概述文档:https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-overview)。您当然可以从powershell部署一个规模集或一堆VM(doc,用于通过PowerShell部署规模集:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-create-vmss),但Powershell命令行开关要求您指定许多相关属性(例如虚拟网络,子网,负载均衡器配置等)。 Azure CLI 2.0(可以在Windows和Linux上使用!)提供了许多良好的默认值。例如,在Azure CLI 2.0中,您可以执行以下单个命令来并行创建所有VM:

az vmss create --resource-group vmss-test-1 --name MyScaleSet --image UbuntuLTS --authentication-type password --admin-username azureuser --admin-password P@ssw0rd! --instance-count 4

(摘自此处的文件:https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-create#create-from-azure-cli

希望这有帮助! :)

答案 1 :(得分:0)

不,没有内置的Azure powershell cmdlet或功能,您可以这样做。你可以为此创建自己的例程。我正在使用PS工作。

您需要使用Save-AzureRmContextImport-AzureRmContext来验证作业中的PowerShell或使用任何形式的自动登录。

答案 2 :(得分:0)

谢谢大家,我使用PS工作流并行和序列功能解决了我的问题。实现了它。