无法在Azure中创建具有多个NIC的VM



我正在尝试在Azure中构建一个实现此网络架构的OpenStack云(用于OpenStack实验)。

我已经用Azure CLI构建了所有内容,并使其一直工作到VM创建,但在添加第二个NIC时收到以下错误。

error:   Deployment provisioning state was not successful
error:   Subnet default referenced by resource /subscriptions/<subscriptionid>/resourceGroups/openstack/providers/Microsoft.Network/networkInterfaces/controller-prov-nic/ipConfigurations/ipconfig2 is not in the same Virtual Network as the subnets of other VMs in the availability set.

网络不是我的强项。为什么我不能有两个NIC连接到他们自己的VNET?有人能建议如何最好地在上面的OpenStack链接中实现拓扑结构吗?

你可以在这里下载整个项目。该项目连续构建每种资源类型。这样可以更容易地使用每个模板文件。

注:

  1. 您需要在VM目录中的template.json中编辑一行添加您自己的公共SSH密钥
  2. 构建整个堆栈(使用bash和Azure CLI)刚刚运行/build-all.sh。(假设您在本地存储了Azure凭据。如果没有删除build-all.sh中的-n开关。)
  3. 我的项目只构建到上面列出的OpenStack模式中的Controller节点

感谢

Bryon

解决了我自己的问题。。。。我没有意识到你可以在一个VNET中设置多个子网,然后将每个NIC连接到每个子网。以下是解决问题的JSON:

"resources": [
{
"comments": "VNet definition for OpenStack Network Layout.",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('virtualNetworks_os_vnet_name')]",
"apiVersion": "2016-03-30",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/16",
"203.0.113.0/24"
]
},
"subnets": [
{
"name": "Management-Network",
"properties": {
"addressPrefix": "10.0.0.0/16"
}
},
{
"name": "Provider-Network",
"properties": {
"addressPrefix": "203.0.113.0/24"
}
}
]
},
"resources": [],
"dependsOn": []
}

然后NIC定义变为:

"resources": [
{
"comments": "Controller NIC for Management Network",
"type": "Microsoft.Network/networkInterfaces",
"name": "[parameters('networkInterfaces_controller_mgt_nic_name')]",
"apiVersion": "2016-03-30",
"location": "[parameters('location')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"privateIPAddress": "10.0.0.11",
"privateIPAllocationMethod": "Static",
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIPAddresses_pub_ip_mgt_ctrlr_name'))]"
},
"subnet": {
"id": "[concat(resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_os_vnet_name')), '/subnets/Management-Network')]"
}
}
}
],
"dnsSettings": {
"dnsServers": []
},
"enableIPForwarding": false,
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroups_management_nsg_name'))]"
}
},
"resources": [],
"dependsOn": []
},
{
"comments": "Controller NIC for Provider Network",
"type": "Microsoft.Network/networkInterfaces",
"name": "[parameters('networkInterfaces_controller_prov_nic_name')]",
"apiVersion": "2016-03-30",
"location": "[parameters('location')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig2",
"properties": {
"privateIPAddress": "203.0.113.4",
"privateIPAllocationMethod": "Dynamic",
// "publicIPAddress": {
//     "id": "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIPAddresses_pub_ip_prov_ctrlr_name'))]"
// },
"subnet": {
"id": "[concat(resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_os_vnet_name')), '/subnets/Provider-Network')]"
}
}
}
],
"dnsSettings": {
"dnsServers": []
},
"enableIPForwarding": false,
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroups_provider_nsg_name'))]"
}
},
"resources": [],
"dependsOn": []
}
]

最新更新