繁体   English   中英

Azure ARM模板以创建Linux VM并将行添加到/ etc / hosts

[英]Azure ARM Template to Create Linux VM and Add Line to /etc/hosts

我们有一个可以通过powershell命令正确创建Linux VM的ARM模板:

New-AzureRmResourceGroupDeployment -TemplateFile .\template.json -TemplateParameterFile .\parameters.json -ResourceGroupName my-rg -virtualMachineName my-test-vm

我们想利用CustomScriptForLinux扩展来添加一行/ etc / hosts

这是template.json的相关部分:

{
      "name": "[concat(parameters('virtualMachineName'),'/edithosts')]",
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "location": "[resourceGroup().location]",
      "apiVersion": "2015-06-15",
      "dependsOn": [
          "[concat('Microsoft.Compute/virtualMachines/', parameters('virtualMachineName'))]"
      ],
      "properties": {
            "publisher": "Microsoft.OSTCExtensions",
             "type": "CustomScriptForLinux",
             "typeHandlerVersion": "1.5",
             "autoUpgradeMinorVersion": true,
             "settings": {
               "commandToExecute": "sudo echo '10.X.X.X  sample.acme.com' >> /etc/hosts"
           }
    }
  }
],

部署成功,没有错误,但是/ etc / hosts文件没有新行。

/var/log/azure/Microsoft.OSTCExtensions.CustomScriptForLinux/1.5.2.2/extension.log的输出包括:

Command to execute:sudo echo '10.X.X.X  sample.acme.com' >> /etc/hosts
2018/03/20 15:22:29 [Microsoft.OSTCExtensions.CustomScriptForLinux-1.5.2.2] Command is finished.
2018/03/20 15:22:29 ---stdout---
2018/03/20 15:22:29 10.X.X.X  sample.acme.com >> /etc/hosts
2018/03/20 15:22:29
2018/03/20 15:22:29 ---errout---
2018/03/20 15:22:29
2018/03/20 15:22:29

从命令中删除“ sudo”没有区别。

原来,您需要使用bash -c "echo '10.XXX sample.acme.com' >> etc/hosts"来使linux正确地解析脚本扩展的输入

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM