首页 > 解决方案 > ARM-VMSS 输出所有实例的私有 ip

问题描述

我正在寻找一种使用 ARM 中的输出部分将 VMSS 的所有私有 ip 输出到数组中的方法。我做了一个类似的练习,使用网络接口 ref [reference(variables('pipname')).ipAddress] 为 VM 获取公共 ip,并且它有效,但是在 VMSS 中,因为我们没有创建 NIC 实例,我'不确定我需要引用什么对象。我在网上查找文档,但找不到任何文档。请指出我正确的方向。这就是我正在使用的

"variables": {
    "appGatewayBackendPool": "appGatewayBackendPool",
    "privateip": "/subscriptions/d6f9c1f8-f319-4a65-a590-86acc53e6e18/resourceGroups/maz-cac-iac-dal-gg-rg/providers/Microsoft.Compute/virtualMachineScaleSets/mazcaciacggapp/virtualMachines/networkInterfaces/mazcaciacggapp-nic"
},
"resources": [
    {
        "type": "Microsoft.Compute/virtualMachineScaleSets",
        "name": "[concat(parameters('vmssName'))]",
        "location": "[resourceGroup().location]",
        "apiVersion": "2017-03-30",
        "sku": {
            "name": "[parameters('vmSku')]",
            "capacity": "[parameters('instanceCount')]"
        },
        "properties": {
            "overprovision": true,
            "upgradePolicy": {
                "mode": "Manual"
            },
            "virtualMachineProfile": {
                "storageProfile": {
                    "osDisk": {
                        "createOption": "FromImage",
                        "caching": "[parameters('osDiskCaching')]",
                        "managedDisk": {
                            "storageAccountType": "[parameters('osDiskStorageType')]"
                        }
                    },
                    "dataDisks": [
                        {
                            "lun": 0,
                            "createOption": "Empty",
                            "caching": "[parameters('dataDiskCaching')]",
                            "diskSizeGB": "[parameters('vmssDataDisk1Size')]",
                            "managedDisk": {
                                "storageAccountType": "[parameters('dataDiskStorageType')]"
                            }
                        },
                        {
                            "lun": 1,
                            "createOption": "Empty",
                            "caching": "[parameters('dataDiskCaching')]",
                            "diskSizeGB": "[parameters('vmssDataDisk2Size')]",
                            "managedDisk": {
                                "storageAccountType": "[parameters('dataDiskStorageType')]"
                            }
                        }
                    ],
                    "imageReference": {
                        "publisher": "[parameters('imageReference.publisher')]",
                        "offer": "[parameters('imageReference.offer')]",
                        "sku": "[parameters('imageReference.sku')]",
                        "version": "[parameters('imageReference.version')]"
                    }
                },
                "osProfile": {
                    "computerNamePrefix": "[parameters('vmssName')]",
                    "adminUsername": "[parameters('adminUsername')]",
                    "adminPassword": "[parameters('adminPassword')]"
                },
                "networkProfile": {
                    "networkInterfaceConfigurations": [
                        {
                            "name": "[concat(parameters('vmssName'), '-nic')]",
                            "properties": {
                                "primary": true,
                                "ipConfigurations": [
                                    {
                                        "name": "[concat(parameters('vmssName'), '-ipconfig')]",
                                        "properties": {
                                            "subnet": {
                                                "id": "[resourceId(parameters('vnetResourceGroupName'),'Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]"
                                            },
                                            "ApplicationGatewayBackendAddressPools": [
                                                {
                                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/applicationGateways/', parameters('appGatewayName'), '/backendAddressPools/', variables('appGatewayBackendPool'))]"
                                                }
                                            ]
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        }
    }
],
"outputs": {
    "privateips": {
      "type": "object",
      "value": "[variables('privateip').IpConfigurations.PrivateIpAddress]",
    }
  }

}

标签: azureazure-resource-managerarm-template

解决方案


已解决:在 azure 管道中使用了 powershell 任务并将 ips 设置为管道变量


推荐阅读