Azure 如何获得虚拟机&x27;使用ARM模板从虚拟机规模集中删除的私有IP?

Azure 如何获得虚拟机&x27;使用ARM模板从虚拟机规模集中删除的私有IP?,azure,arm-template,azure-vm-scale-set,azure-marketplace,Azure,Arm Template,Azure Vm Scale Set,Azure Marketplace,我创建了一个带有虚拟机规模集的ARM模板,现在我陷入了ARM模板的开发中,因为我无法获得在规模集内创建的虚拟机的私有IP。使用扩展脚本更新Cassandra种子需要私有IP { "type": "Microsoft.Compute/virtualMachineScaleSets", "apiVersion": "2020-06-01", &quo

我创建了一个带有虚拟机规模集的ARM模板,现在我陷入了ARM模板的开发中,因为我无法获得在规模集内创建的虚拟机的私有IP。使用扩展脚本更新Cassandra种子需要私有IP

{
            "type": "Microsoft.Compute/virtualMachineScaleSets",
            "apiVersion": "2020-06-01",
            "name": "[parameters('vmName')]",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworkName'))]",
                "Microsoft.Compute/images/myCustomImage"
            ],
            "identity": {
                "type": "SystemAssigned"
            },
            "sku": {
                "name": "[parameters('vmSku')]",
                "tier": "Standard",
                "capacity": "[parameters('instanceCount')]"
            },
            "properties": {
                "overprovision": "false",
                "upgradePolicy": {
                    "mode": "Manual"
                },
                "virtualMachineProfile": {
                    "storageProfile": {
                      "imageReference": {
                        "id": "[resourceId('Microsoft.Compute/images', 'myCustomImage')]"
                      }
                    },
                    "osProfile": {
                        "computerNamePrefix": "[parameters('vmName')]",
                        "customdata": "1",
                        "adminUsername": "centos",
                        "linuxConfiguration": {
                            "disablePasswordAuthentication": true,
                            "ssh": {
                                "publicKeys": [
                                    {
                                        "path": "/home/centos/.ssh/authorized_keys",
                                        "keyData": "xxxx"
                                    }
                                ]
                            }
                        }
                    },
                    "networkProfile": {
                        "networkInterfaceConfigurations": [
                            {
                                "name": "[parameters('nicName')]",
                                "properties": {
                                    "primary": true,
                                    "ipConfigurations": [
                                        {
                                            "name": "[variables('ipConfigName')]",
                                            "properties": {
                                                "subnet": {
                                                    "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), 'cassandra')]"
                                                }
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            }
        }
如何获取在比例集中创建的虚拟机的私有IP?

您可以使用该函数获取虚拟机实例的NIC资源。实例NIC的资源id如下所示:

/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/virtualMachines/{instanceId}/networkInterfaces/{nicName}
"variables": {
    "instanceNic-0": "[concat('/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/virtualMachines/0/networkInterfaces/', parameters('nicName'))]" 
},
"outputs": {
    "instanceNic-0-IP": {
        "type": "string",
        "value": "[reference(variables('instanceNic-0'), '2016-09-01').ipConfigurations[0].properties.privateIPAddress]"
    }
}
因此,您可以为每个实例id设置变量,然后获取私有IP地址,模板的部分如下所示:

/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/virtualMachines/{instanceId}/networkInterfaces/{nicName}
"variables": {
    "instanceNic-0": "[concat('/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/virtualMachines/0/networkInterfaces/', parameters('nicName'))]" 
},
"outputs": {
    "instanceNic-0-IP": {
        "type": "string",
        "value": "[reference(variables('instanceNic-0'), '2016-09-01').ipConfigurations[0].properties.privateIPAddress]"
    }
}

关于这个问题还有什么更新吗?它能解决你的问题吗?为什么不回应,也不接受呢?