2016-12-07 84 views
1

现有VNET我有一个VNET成立于天青与多家每个都有自己的定义NSG入站和出站规则子网。部署Azure的资源管理器模板通过CLI

在这些子网中,我想用自动缩放规则(例如基于https://raw.githubusercontent.com/gbowerman/azure-myriad/master/vmss-ubuntu-scale/azuredeploy.json)部署具有特定扩展(可能从github/docker拉取一些回购)的VM缩放集。

在我的模板我怎么定义的比例集合/ VM应分配给现有子网/ NSG等?

回答

1

嗯,这是相当简单的,你只需要指定你引用的资源的ID。

比方说,您要使用现有网:

"parameters": { 
... 
    "existingVirtualNetworkName": { 
     "type": "string", 
     "metadata": { 
     "description": "Name of the existing VNET" 
     } 
    }, 
    "existingVirtualNetworkResourceGroup": { 
     "type": "string", 
     "metadata": { 
     "description": "Name of the existing VNET resource group" 
     } 
    }, 
    "subnetName": { 
     "type": "string", 
     "metadata": { 
     "description": "Name of the subnet in the virtual network you want to use" 
     } 
    }, 
... 
    }, 
    "variables": { 
... 
    "vnetID": "[resourceId(parameters('existingVirtualNetworkResourceGroup'), 'Microsoft.Network/virtualNetworks', parameters('existingVirtualNetworkName'))]", 
    "subnetRef": "[concat(variables('vnetID'),'/subnets/', parameters('subnetName'))]", 
... 
} 
    "resources": [ 
... 
    { 
    "apiVersion": "[variables('api-version')]", 
    "type": "Microsoft.Network/networkInterfaces", 
    "name": "[variables('nicName')]", 
    "location": "[resourceGroup().location]", 
    "dependsOn": [ 
     "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]" 
    ], 
    "tags": { 
     "displayName": "NetworkInterface" 
    }, 
    "properties": { 
     "ipConfigurations": [{ 
     "name": "ipconfig1", 
     "properties": { 
      "privateIPAllocationMethod": "Dynamic", 
      "publicIPAddress": { 
      "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]" 
      }, 
      "subnet": { 
      "id": "[variables('subnetRef')]" 
      } 
     } 
     }] 
    } 
    }, 

你会使用网络安全组相同的方法。

看看这里更多:https://github.com/Azure/azure-quickstart-templates/blob/master/201-vm-specialized-vhd-existing-vnet/azuredeploy.json

+0

感谢您的快速答复!如果我现有的VNET被称为stuartVNET,我将修改为“现有虚拟网络名称”:{ “type”:“string”, “metadata”:{ “description”:“现有VNET的名称” } stuartVNET“:{。”type:“string”...}或者是'existing'(existingVirtualNetworkName)某种类型的关键字,告诉Azure添加到现有资源中,并且它与描述值中的名称匹配? –

+0

另外,当我以下parameters'供应值'existingVirtualNetworkName:设置参数,如existingVirtualNetworkName,existingVirtualNetworkResourceGroup当我部署使用CLI我得到提示为这些提供值的模板,即''信息1 –

+0

没有,那些都只是名字,如果你不不了解ARM模板是如何工作的 - 阅读它们。2.是的,您需要为所有参数提供值在部署时。 @StuartBrown – 4c74356b41

相关问题