首页 文章

如何将Azure虚拟机规模集部署到现有虚拟网络?

提问于
浏览
1

我已在同一VLAN中成功部署了带有AD服务器的VMSS . 但是,当我尝试部署第二个VMSS时,它会创建一个新的虚拟网络,使其远离现有的AD .

如何将第二个VMSS部署到与第一个和AD相同的虚拟网络中?如果我编辑模板以使其具有与现有模板相同的虚拟网络,然后部署它,部署是否将部署到现有虚拟网络中,还是会尝试创建具有相同名称的新模板并将其复制或复制?

或者,有没有办法将VMSS中的NIC迁移到另一个网络?我找不到cmdlet来执行此操作,并且在Web界面中,它仅显示在下拉列表中部署时创建的虚拟网络,而不是原始虚拟网络 .

1 回答

  • 1

    如果您第二次部署具有相同vnet配置的模板,则它基本上是no-op . 如果您在现有工作上略微更改配置,它将尝试更新该配置 .

    基本上你想要做的就是创作模板,使它通过网卡引用现有网络,而不是定义网络本身 . 您的声明是网络“存在”,因此您无需定义它仅引用它 . 这是JSON的片段:

    "networkProfile": {
            "networkInterfaceConfigurations": [
              {
                "name": "vmss-nic",
                "properties": {
                  "primary": true,
                  "ipConfigurations": [
                    {
                      "name": "vmss-ipconfig",
                      "properties": {
                        "subnet": {
                          "id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('subnetName'))]"
                        }
    

    “id”属性是要放置VMSS的vnet的子网的resourceId . 如果vnet与VMSS位于同一资源组中,则可以将该表达式缩短为:

    Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('subnetName')
    

    但完全限定的id将适用于所有场景 .

    re:移动VMSS,您可以随时尝试部署如上配置的模板 . 同一RG中的VMSS名称相同,但具有不同的网络配置文件 .

    HTH

相关问题