【问题标题】:Create second resource group for nested template为嵌套模板创建第二个资源组
【发布时间】:2018-10-24 13:44:43
【问题描述】:

因此,我正在尝试部署一个模板,该模板将站点设置为站点 vpn,并具有一个嵌套模板,该模板将设置连接到 azure 端的虚拟机。每个模板都可以单独工作,也可以作为嵌套模板一起工作。

当我想将站点到站点部署在一个资源组中并将 VM 和相关对象部署到另一个资源组时,问题就出现了。

我整理了以下代码:

{
        "condition": "[equals(parameters('deployVm'),'True')]",
        "type": "Microsoft.Resources/resourceGroups",
        "name": "[variables('deployments').resourceGroup.name]",
        "apiVersion": "2018-08-01",
        "location": "[variables('deployments').resourceGroup.location]",
        "properties": {}
    },
    {
        "condition": "[equals(parameters('deployVm'),'True')]",
        "type": "Microsoft.Resources/deployments",
        "name": "[variables('deployments').name]",
        "apiVersion": "2017-05-10",
        "resourceGroup": "[variables('deployments').resourceGroup.name]",
        "properties": {
            "mode": "[variables('deployments').mode]",
            "templateLink": {
                "uri": "[variables('deployments').templateLink.uri]",
                "contentVersion": "[variables('deployments').templateLink.contentVersion]"
            },
            "parameters": {}
            }
        },
        "dependsOn": [
            "[resourceId('Microsoft.Resources/resourceGroups/', variables('deployments').resourceGroup.name)]"
        ]
    }

根据我整理的其他一些模板,我不明白为什么在部署我在依赖部分中设置的资源组时没有创建。

当我运行模板时,Azure 抱怨找不到资源组“[variables('deployments').resourceGroup.name]”。

【问题讨论】:

  • deployVm 参数是否设置正确?
  • 是的,但我确实尝试在没有条件行的情况下运行模板,但它仍然给我同样的错误,说资源组不存在。
  • 看看这个模板:github.com/Azure/azure-quickstart-templates/tree/master/… - 如果这没有帮助,我们可能需要查看整个模板以了解发生了什么。
  • 该模板也不起作用,您是否可以访问 azure 帐户?如果你运行它,它对你有用,因为它不适合我。关于找不到资源组的相同错误。

标签: json azure azure-resource-manager azure-resource-group


【解决方案1】:

问题没有明确说明这一点,但需要事先创建资源组。
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-cross-resource-group-deployment#specify-a-subscription-and-resource-group

除此之外 - 一切看起来都很好(您可能需要检查您的 deployment 变量,它看起来有点像 deployment() 函数。)

【讨论】:

  • 我知道资源组需要在部署之前进行。我认为将它放在模板中并使其成为依赖项会使其预先运行,以便该组存在。如果在模板中包含该资源类型实际上并不能创建组,那么它的意义何在?
  • 为此您需要内联资源,请查看此示例:docs.microsoft.com/en-us/azure/azure-resource-manager/…。在整个部署开始之前,如何在 azure 中设置嵌套部署作为单独的模板资源组必须存在于 azure 中。对于内联嵌套部署,您似乎可以这样做。
  • 我不明白你的意思,也许你可以改写一下。举个例子,如果您在提供的链接上向上滚动,则会有一个示例模板说明它可以创建多个资源组,但如果您运行它,它就会失败并说找不到资源组。如果模板不创建资源组,那么它在做什么?
  • 你是如何部署这些模板的?
  • 通过制作自定义模板直接从门户网站。
猜你喜欢
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多