【Azure 批处理 Azure Batch】在Azure Batch中如何通过开始任务自动安装第三方依赖的一些软件(Windows环境)
准备条件
- Azure Batch账号
- 需要安装的软件包(zip)文件,里面包含该软件的msi安装文件, 此处使用python.msi 版本 3.3.3 作为例子(https://www.python.org/downloads/windows/)
开始安装
1) 上传需要安装的软件包到Batch Account中的Applications中
参考文档:
添加新应用程序包:https://docs.azure.cn/zh-cn/batch/batch-application-packages#add-a-new-application-package
2) 创建Pool并添加Start Task
- Publisher 选择 microsofwindowsserver
- Offer选择windowsserver
- Sku选择 2012-r2-datacenter-smalldisk
- VM Size 选择 Standard A2
开启Start Task并设置如下命令, 同时使用Pool Admin权限:
cmd /c msiexec /i %AZ_BATCH_APP_PACKAGE_pythonmsi#3.3.3%\python.msi /l*v msilog.txt /qn
注:
变量参数说明请参考文档:https://docs.microsoft.com/zh-cn/azure/batch/batch-compute-node-environment-variables#environment-variables |
在Pool中添加第一步中上传的软件包引用,这一步与Start Task中需要执行的安装命令紧密相关
点击OK等待Pool创建完成。当Node的状态为Idle时,可以查看Start Task的完成状态及查看安装时设置的输出日志msilog.txt
验证步骤
- 查看Start Task状态 (Pool -> Nodes -> Start task info)
- 查看输入日志msilog.txt (Pool -> Nodes -> Files)
- 新加Job Task,使用以下命令分别设置PATH 及查看Python版本号信息
cmd /c setx path "%path%;C:\Python33"
C:\Python33 以安装python的路径为准,此处只作为参考 |
cmd /c python -V |
在task的输出文件中查看结果:
创建Job及Task的参考文档:
创建作业: https://docs.azure.cn/zh-cn/batch/quick-create-portal#create-a-job
创建任务: https://docs.azure.cn/zh-cn/batch/quick-create-portal#create-tasks
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!