首页 > 解决方案 > 在虚拟机规模集中查找其他实例

问题描述

有没有办法让虚拟机规模集中的实例发现同一规模集中的其他实例(私有 IP 地址)?VMSS 设置为自动扩展,因此其他实例可能随时来去。

Azure 实例元数据服务仅返回有关进行查询的实例的信息,而不返回 VMSS 中的任何其他实例。该az vmss list-instance-connection-info命令仅返回有关负载均衡器上入站 NAT 池的可公开访问端口的信息。

我正在尝试为 VMSS 中的实例创建一个反向通道以(同步)合作。我考虑过的其他替代方案包括子网上的 UDP 多播以宣传可用性、VM 注册其网络信息(并在缩减时取消注册)的 Azure Redis 缓存,以及 Service Fabric Reliable Collections(我们不使用容器) . 还有其他方法吗?

标签: azureazure-vm-scale-set

解决方案


您似乎想知道 VMSS 中每个实例的私有 IP 地址。

如果是这样,您可以使用 Azure CLI 检索它,

az vmss nic list -g nancyvm --vmss-name myvmss --query "[].ipConfigurations[].{ID:id,PrivateIPAddress:privateIpAddress}" -o table

在此处输入图像描述

如果你在 Linux 上运行它,你会变得更容易,

az vmss nic list -g nancyvm --vmss-name myvmss | grep -w "privateIpAddress" 

在此处输入图像描述

有关它的更多 PowerShell 脚本,请参阅此博客


推荐阅读