azure - 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]",
}
}
}
解决方案
已解决:在 azure 管道中使用了 powershell 任务并将 ips 设置为管道变量
推荐阅读
- unit-testing - 在 RxSwift 中测试 ViewModel
- arduino - 没有计算机,Arduino 代码什么也做不了
- python - 如何更改数据框中整数的数字格式?
- java - 解决 EclipseLink @Version Timestamp-Field 和 DB2 之间冲突的最佳方法
- java - 无法对齐堆栈窗格内的文本字段
- r - 如何将一个数据帧作为子集(完整)查找或匹配到 R 中的另一个数据帧中?
- java - 将文本附加到 JTextPane 时,JTextPane 的滚动条不可见
- mysql - MYSQL LEFT JOIN 返回空值
- go - 使用主键和排序键上的两个条件查询表
- c# - 为什么在 UAC 提示中单击否会在 MSI 安装程序中出现错误?