我当前的应用场景要求我同时启动多个VM以及一些启动任务(每个VM上的启动任务触发相同的脚本但具有不同的参数)。以前在EC2中,我可以轻松启动多个EC2实例,然后轻松使用Windows任务调度程序来触发可执行文件,读取每个实例的用户数据中的数据,然后一切都完成。
我在Azure中尝试了相同的方法,但发现了许多问题:
那么在Azure VM中自动执行启动任务的最简单方法是什么?
答案 0 :(得分:2)
您是否考虑过使用Azure-powershell?
Start-AzureVM
- cmdlet启动虚拟机。启动代码段:
$vmuri = Get-AzureWinRMUri -ServiceName $VMName
#region start hpc-azure-nodes
Invoke-Command -ConnectionUri $vmuri -Credential $credential {
#start your tasks with the according parameters
} -ArgumentList
一种相当漂亮的方式是在Azure中创建head-vm并安装HPC-cluster-manager。利用HPC群集管理器,您可以在限制范围内配置任意数量的Azure计算节点,部署软件并从群集管理器集中启动/停止软件。
此外,HPC群集管理器提供了许多有用的功能:
还有一个HPC-powershell,它为自动化提供了一个很好的环境。不可否认,这种方法需要更多努力,但从长远来看,它几乎肯定会得到回报。
答案 1 :(得分:0)
我认为您正在寻找的是PowerShell所需的状态配置(DSC)。
这是PowerShell 4.0中引入的管理平台。您可以通过提供系统中每个节点所需状态的描述来使用它来配置VM或服务器组。基本上,您可以描述服务器在启动时所处的状态,如果配置已经漂移,则会更正它。
DSC脚本可以: