如何使用 CLI 获取 VMSS 的私有 IP

lam*_*dar 5 azure azure-cli azure-vm-scale-set

我正在尝试自动化一些我们的 BAT 脚本,为此我们的脚本需要知道每个 VMSS 实例的私有 IP(实例没有公共 IP)。

有没有办法使用 azure cli 查询特定 VMSS 下所有实例的私有 IP。我尝试了 LB 和 VMSS 的几个命令,但还没有找到解决方案。

az vmss show -g <rg> -n <vmss>
az vmss list-instances -g <rg> -n <vmss>
az vmss nic list-vm-nics -g <rg> --vmss-name <vmss> --ids <id>
az network lb address-pool list -g <rg> --lb-name <lb>
az vmss list-instance-connection-info -g <rg> -n <vmss>
Run Code Online (Sandbox Code Playgroud)

任何帮助都是非常可观的,我不是在寻找 powershell。

Cha*_* Xu 6

可以使用 Azure CLI 和 bash 命令:

az vmss nic list -g groupName --vmss-name ScaleSetName | grep -w "privateIpAddress"

它可以像这样显示所有的私有 ip:

"privateIpAddress": "192.168.1.4",
"privateIpAddress": "192.168.1.5",
Run Code Online (Sandbox Code Playgroud)

  • @ChrisBlom 答案很棒,添加到私有 IP 参数似乎更改了以下内容: `az vmss nic list --resource-group ec-prod-rg --vmss-name ecprodwebvmss --query "[].ipConfigurations[ ].privateIpAddress`,将“[]”都改为“[0]”即可找到第一个私有IP地址 (2认同)