Azure上有2个Ubuntu虚拟机(旧pipe理面板上的传统虚拟机)。我在同一个Cloud Service下创build了两个。 我还创build了负载均衡端点80 (public)到80 (private) ,两台机器都有这个端点,协议HTTP和探针path/probe 。
当我浏览到两个虚拟机运行的云服务的IP时,我得到了我期待的响应。
如果closures虚拟机2并保持虚拟机1运行,它仍然有效,但是当我closures虚拟机1并离开虚拟机2时,浏览器中出现连接故障。
我玩过,VM2从来没有得到任何交通指示。 我的应用程序/probe上有一个端点,它为Load Balancer探针返回状态为200的不可caching的响应。 我试着通过调用在虚拟机上testing它们
wget localhost/probe
我在两台机器上都试过,只有当VM1运行时才能得到正确的输出结果。 当虚拟机1closures,我在虚拟机2上运行这个命令,它不能连接到地址。 我认为这是问题所在,但无法弄清楚如何解决问题。
更新:
我添加了日志logging到应用程序,它似乎只是探索第一个虚拟机。
我必须在Azurepipe理面板中的两台虚拟机上添加一个Load Balanced端点。 非常愚蠢的错误。
另外,每个虚拟机都需要有一个有效的端点,对我来说,它是<address>/healthcheck 。 所有这个端点需要做的是始终返回一个non-cache-able response with status 200的non-cache-able response with status 200 。 没有其他需要,Azure内部负载平衡器处理其余部分。