2013-04-01 60 views
2

我们正在创建一个多租户应用程序并将其托管在Window Azure IaaS平台上。 我们希望使用PowerShell远程配置和配置所有虚拟机。 我们不希望RDP进入任何配置的虚拟机。Azure虚拟机启动任务

Azure虚拟机是否支持启动任务来执行类似于Web角色和工作角色的Power Shell脚本?

如果不是,那么是否有其他可用的选择(像PsExec这样的工具)可以帮助执行启动脚本?

回答

8

您的虚拟机只是虚拟化的Windows/Linux机器,并且支持按惯例启动任务。

对于Windows虚拟机,你将需要:

  1. 下载基地Azure中的Windows Server客户端虚拟机。
  2. 将机器的启动过程自定义为execute a startup script
  3. 将您的自定义虚拟机备份到Azure中。
  4. 配置Azure以启动您的定制虚拟机。

注意:您也可以访问PowerShell中的远程VM using PowerShell remoting以类似的方式如何一个使用SSH访问远程[LI | U]控制台N [U | I] X盒/ VM。

FWIW,Git是一个伟大的工具来使用拉下并执行虚拟机配置脚本:您对-VM的启动脚本可以使用Chocolatey安装最新版本的GIT的(如果它尚未安装),然后使用Git从GitHub/similar下载最新版本的启动脚本并执行它。这样,每次脚本更改时都不需要重新构建虚拟机映像。

+0

步骤1和3不需要,因为这是旧VM角色。对于虚拟机,只需从库中创建一个新的虚拟机,然后选择Windows Server或其中一种Linux变体作为启动映像。您的新VHD将被创建,您的虚拟机将在几分钟内启动。您在此时所做的每一项更改都是持久且持久的(所有更改都写入存储在Blob存储中的vhd中)。更进一步:您可以sysprep您创建的vhd,并将其添加到您自己的一组初始映像中。这些都位于Azure中,无需在本地下载它们或将它们推回到Azure。 –

+0

@大卫:公平点。然而,有时候,让本地工作在云中更容易,更便宜,更快速。 –

+1

感谢您的回复。如果微软可以添加对执行PowerShell脚本的支持,因为虚拟机已经配置并启动。刚刚在[Azure愿望清单]中投了类似的项目(http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/3026972-startup-tasks-for-azure-iaas-vms) – Gaurav