USECASE : 我需要根据CPU利用率在应用程序网关内部启动带有VMSS的VM。 在VMSS中,我需要执行一次脚本,如果有人这样做之前请分享相同的文档。
感谢。
我创建了一个自定义模板,但在部署过程中出错: { “状态”:“失败”, “错误”:{ “code”:“ResourceDeploymentFailure”, “message”:“资源操作已完成,终端配置状态为'Failed'。”, “细节”: [ { “code”:“VMExtensionProvisioningError”, “message”:“VM在处理扩展'updatescriptextension'时报告失败。错误消息:\”启用失败:执行命令失败:命令以退出状态= 1 \“终止。” }
模板:https://github.com/linuxgambler/azure/blob/master/vmss.json
答案 0 :(得分:1)
您可以创建单个Azure Resource Manager模板,以创建App Gateway,缩放集和自动缩放规则。我不知道一个例子,但这里有App Gateway VMSS模板的例子:https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-ubuntu-app-gateway和这里:https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-windows-app-gateway 使用自动缩放规则进行CPU使用的示例如下:https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-ubuntu-autoscale和此处:https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-windows-autoscale - 您可以从后面的示例中获取自动缩放规则并将其添加到应用程序网关模板。
如果您创建此类模板,则可以使用PowerShell或CLI编写其部署脚本。如果您希望使用PowerShell或CLI命令强制创建资源并添加自动缩放规则,您也可以执行此操作,但我再也不知道一站式示例脚本,但您可以从其他示例构建脚本。例如,可以在此处找到使用PowerShell向自动缩放规则集添加自动缩放规则的说明:https://msftstack.wordpress.com/2017/03/05/how-to-add-autoscale-to-an-azure-vm-scale-set/
答案 1 :(得分:0)
您看到的错误消息是由于您正在运行的Linux的自定义脚本扩展;在您的配置中,您有:
"settings": {
"commandToExecute": "sh /test.sh",
"enableInternalDNSCheck": "false"
}
但是没有fileUris键来指定test.sh文件的下载位置(例如:https://github.com/Azure/azure-quickstart-templates/blob/master/201-vmss-bottle-autoscale/azuredeploy.json#L229)。所以可能是test.sh文件不在VM上(除非你有其他方法吗?);它也可能是别的东西;你可以检查/ var / lib / waagent中的日志,看看扩展到底有多远;如果您在/ var / lib / waagent / custom-script / downloads / 0中看到文件,那么您应该能够看到stdout和stderr也在那里登录。