Блоки данных Azure с настраиваемым шаблоном виртуальной руки не подключаются к настраиваемой виртуальной сети. - PullRequest
0 голосов
/ 03 июня 2019

С помощью следующего шаблона ARM я развертываю блоки данных Azure с настраиваемым именем управляемой группы ресурсов и добавляю рабочих в настраиваемую VNET.На портале это работает нормально.Но когда я пытаюсь сделать это внутри шаблона ARM, группы управляемых ресурсов продолжают развертывать рабочую виртуальную сеть для рабочих.Я думаю, что я на правильном пути, но пропускаю одну настройку.Но не могу понять это.Есть ли кто-нибудь, кто может видеть, чего мне не хватает?

Источник ARM: https://github.com/Azure/azure-quickstart-templates/tree/master/101-databricks-workspace-with-vnet-injection

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "databricksName": {
            "type": "string",
            "metadata": {
                "description": "The name of the databricks workspace"
            }
        },
        "pricingTier": {
            "type": "string",
            "allowedValues": [
                "trial",
                "standard",
                "premium"
            ],
            "metadata": {
                "description": "The pricing tier of workspace."
            }
        },
        "managedResourceGroupName": {
            "type": "string",
            "metadata": {
                "description": "The name of the managed resource group that databricks will create"
            }
        },
        "Location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
                "description": "The Location of the deployment"
            }
        },
        "vnetName": {
            "type": "string",
            "metadata": {
                "description": "The Name of the virtual network where the Workers would be connected to"
            }
        },
        "privateSubnetName": {
            "defaultValue": "public-subnet",
            "type": "string",
            "metadata": {
                "description": "The name of the private subnet to create."
            }
        },
        "publicSubnetName": {
            "defaultValue": "private-subnet",
            "type": "string",
            "metadata": {
                "description": "The name of the public subnet to create."
            }
        }
    },
    "variables": {
        "ManagedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', parameters('managedResourceGroupName'))]",
        "vnetId": "[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]"
    },
    "resources": [
        {
            "name": "[parameters('databricksName')]",
            "type": "Microsoft.Databricks/workspaces",
            "apiVersion": "2018-04-01",
            "tags": {
                "description": "MIG6 databricks workspace",
                "costCenter": "WPIPM12SG552"
            },
            "location": "[parameters('Location')]",
            "properties": {
                "managedResourceGroupId": "[variables('managedResourceGroupId')]",
                "parameters": {
                    "customVirtualNetworkId": {
                        "value": "[variables('vnetId')]"
                    },
                    "customPublicSubnetName": {
                        "value": "[parameters('publicSubnetName')]"
                    },
                    "customPrivateSubnetName": {
                        "value": "[parameters('privateSubnetName')]"
                    }
                }
            },
            "sku": {
                "name": "[parameters('pricingTier')]"
            }
        }
    ]
}

1 Ответ

1 голос
/ 06 июня 2019

Вам нужно вложить vnet в шаблон, у меня это работает:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vnetName": {
            "type": "string"
        },
        "vnetRG": {
            "type": "string"
        },
        "publicSubnetName": {
            "type": "string"
        },
        "publicSubnetCIDR": {
            "type": "string"
        },
        "privateSubnetName": {
            "type": "string"
        },
        "privateSubnetCIDR": {
            "type": "string"
        },
        "workspaceName": {
            "type": "string"
        },
        "tier": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "nsgName": {
            "defaultValue": "databricks-nsg",
            "type": "string"
        },
        "environment": {
            "type": "string"
        }
    },
    "resources": [
        {
            "apiVersion": "2017-05-10",
            "name": "nestedTemplate",
            "type": "Microsoft.Resources/deployments",
            "resourceGroup": "[parameters('vnetRG')]",
            "properties": {
                "mode": "Incremental",
                "template": {
                    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
                    "contentVersion": "1.0.0.0",
                    "parameters": {},
                    "variables": {},
                    "resources": [
                        {
                            "apiVersion": "2018-04-01",
                            "type": "Microsoft.Network/virtualNetworks/subnets",
                            "name": "[concat(parameters('vnetName'), '/', parameters('publicSubnetName'))]",
                            "location": "[parameters('location')]",
                            "properties": {
                                "addressPrefix": "[parameters('publicSubnetCIDR')]",
                                "networkSecurityGroup": {
                                    "id": "[variables('nsgId')]"
                                }
                            }
                        },
                        {
                            "apiVersion": "2018-04-01",
                            "type": "Microsoft.Network/virtualNetworks/subnets",
                            "name": "[concat(parameters('vnetName'), '/', parameters('privateSubnetName'))]",
                            "location": "[parameters('location')]",
                            "dependsOn": [
                                "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'), '/subnets/', parameters('publicSubnetName'))]"
                            ],
                            "properties": {
                                "addressPrefix": "[parameters('privateSubnetCIDR')]",
                                "networkSecurityGroup": {
                                    "id": "[variables('nsgId')]"
                                }
                            }
                        }
                    ]
                },
                "parameters": {}
            }
        },
        {
            "apiVersion": "2018-04-01",
            "type": "Microsoft.Databricks/workspaces",
            "location": "[parameters('location')]",
            "name": "[parameters('workspaceName')]",
            "dependsOn": [
                "['Microsoft.Resources/deployments/nestedTemplate']"
            ],
            "sku": {
                "name": "[parameters('tier')]"
            },
            "comments": "Please do not use an existing resource group for ManagedResourceGroupId.",
            "properties": {
                "ManagedResourceGroupId": "[variables('managedResourceGroupId')]",
                "parameters": {
                    "customVirtualNetworkId": {
                        "value": "[variables('vnetId')]"
                    },
                    "customPublicSubnetName": {
                        "value": "[parameters('publicSubnetName')]"
                    },
                    "customPrivateSubnetName": {
                        "value": "[parameters('privateSubnetName')]"
                    }
                }
            }
        }
    ],
    "variables": {
        "managedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
        "managedResourceGroupName": "[concat(resourceGroup().name,'-DATABRICKS-MANAGED')]",
        "vnetId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('vnetRG'), '/providers/Microsoft.Network/virtualNetworks/', parameters('vnetName'))]",
        "nsgId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('vnetRG'), '/providers/Microsoft.Network/networkSecurityGroups/', parameters('nsgName'))]"
    },
    "outputs": {}
}
...