Azure 内部负载均衡器忽略第二台虚拟机

Azure 内部负载均衡器忽略第二台虚拟机

我有Azure 上的 2 个 Ubuntu VM(旧管理面板上的经典 VM。)我在同一个云服务下创建了两者。我还创建了一个负载平衡端点80 (public)80 (private)两台机器都具有此端点、协议HTTP和探测路径/probe

当我浏览两个虚拟机都在运行的云服务的 IP 时,我得到了我期望的响应。

如果我关闭 VM 2 并保持 VM 1 运行,它仍然可以工作,但是当我关闭 VM 1 并离开 VM 2 时,浏览器中会出现连接失败。

我试过,VM2 从未收到任何定向到它的流量。我的应用程序上有一个端点/probe,它为负载均衡器探测返回状态 200 的不可缓存响应。我尝试通过调用在虚拟机上测试它们

wget localhost/probe

我在两台机器上都尝试过这个,只有当 VM1 运行时才能获得正确的输出。当 VM 1 关闭时,我在 VM 2 上运行此命令,它无法连接到该地址。我认为这就是问题所在,但不知道该如何解决。

更新:

我向应用程序添加了日志记录功能,它似乎只探测第一个虚拟机。

答案1

我必须在 Azure 管理面板中的两个虚拟机上添加一个负载平衡端点。非常愚蠢的错误。

此外,每个虚拟机都需要有一个有效的端点,对我来说,它是<address>/healthcheck。此端点需要做的就是始终返回一个non-cache-able response with status 200。不需要其他任何东西,Azure 内部负载均衡器会处理其余部分。

相关内容