【问题标题】:How to get VM names under backend address pools of load balancer of resource group in azure如何在Azure资源组的负载均衡器的后端地址池下获取VM名称
【发布时间】:2021-10-28 22:47:57
【问题描述】:

我尝试了以下命令,将 vmname 和后端池名称获取到 excel 表。但它只显示虚拟机,但不显示后端池名称。

在读取 rgName 时 做 vmlist=$(az vm list -g $rgName --query [].name -o tsv)

for vm in $vmlist
do
nicId=$(az vm show -g $rgName -n $vm --query networkProfile.networkInterfaces[].id -o tsv)

backendPoolId=$(az network nic show --ids $nicId --query ipConfigurations[].loadBalancerBackendAddressPools[].id -o tsv)

backendPoolName=${backendPoolId##*/}

done

echo $vmlist,$backendPoolName >> test.csv

done < ilb_group

【问题讨论】:

  • 后端地址池中是否有vmss或vm或vnet作为目标?
  • @NancyXiong Vms

标签: azure azure-cli


【解决方案1】:

要检索 VM 和 backendPoolName,您可以使用以下 bash 脚本。

#!/bin/bash

rgName=nancylbrg 
vmlist=$(az vm list -g $rgName --query [].name -o tsv)

for vm in $vmlist
do
nicId=$(az vm show -g $rgName -n $vm --query networkProfile.networkInterfaces[].id -o tsv)

backendPoolId=$(az network nic show --ids $nicId --query ipConfigurations[].loadBalancerBackendAddressPools[].id -o tsv)

backendPoolName=${backendPoolId##*/}

done

echo $vmlist,$backendPoolName

结果

【讨论】:

  • 只获取虚拟机而不获取后端池,我已回显到 csv 文件 "echo $vmlist,$backendpoolName >> test.csv"
  • 你能显示你的完整命令吗?对我来说效果很好。
  • 在您的命令的第一行,更改为while read rgName,这也适用于我。如果 VM 没有以后端池为目标,则不会显示后端池名称。后端池中是否有多个 VM 而不是 VM 规模集?你可以看到我的后端池。
  • 每个后端池关联了两个虚拟机。
  • 如果你为一个网卡运行az network nic show,它会得到backendPoolId?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多