gpt4 book ai didi

Azure ARM 模板取决于 : How to reference a VM extension?

转载 作者:IT老高 更新时间:2023-10-28 21:42:02 27 4
gpt4 key购买 nike

我有一个 Azure ARM Teamplate,它应该使用 Docker 创建 Linux VM。 Docker 是使用 Azure 的 DockerExtension 安装的。安装 Docker 后,我需要使用 Azure 的 CustomScriptForLinux 运行自定义脚本。因此,第二个脚本应该取决于 Docker 安装。下面是一个示例,展示了我如何尝试在 ARM 模板中编写该内容:

{
...,
"variables": {
"extensionName": "DockerExtension",
"vmName": "Docker",
...
},
"resources": [
...,
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(variables('vmName'), '/', variables('extensionName'))]",
"tags": {
"displayName": "DockerExtension"
},
"apiVersion": "2015-06-15",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
],
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "DockerExtension",
"typeHandlerVersion": "1.1",
"autoUpgradeMinorVersion": true,
"settings": { }
}
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(variables('vmName'), '/config')]",
"apiVersion": "2015-06-15",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/extensions/', variables('vmName'), '/', variables('extensionName'))]"
],
"properties": {
"publisher": "Microsoft.OSTCExtensions",
"type": "CustomScriptForLinux",
"typeHandlerVersion": "1.4",
"settings": {
"fileUris": [
"..."
],
"commandToExecute": "bash configure.sh"
}
}
}
]
}

如果我运行此 ARM 模板,我会收到错误资源
模板中未定义“Microsoft.Compute/virtualMachines/extensions/Docker/DockerExtension”。
我不明白为什么。这是我模板中的 Docker 扩展的名称,不是吗?

如果我只运行其中一个脚本,该模板就可以工作。所以模板中不应该出现一般错误。

感谢任何帮助。

问候,雷纳。

最佳答案

您可以尝试在 ARM 模板中使用 ARM 模板函数 resourceId() 来引用 Docker 扩展资源,如下所示。

  "type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(variables('vmName'), '/config')]",
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines/extensions', variables('vmName'), variables('extensionName'))]"
],...

引用:Azure 资源管理器模板函数

https://azure.microsoft.com/en-gb/documentation/articles/resource-group-template-functions/#resourceid

关于Azure ARM 模板取决于 : How to reference a VM extension?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390084/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com