从负载平衡的云服务中删除 Azure VM 实例

Posted

技术标签:

【中文标题】从负载平衡的云服务中删除 Azure VM 实例【英文标题】:Delete Azure VM Instance from load balanced Cloud Service 【发布时间】:2013-11-05 19:46:25 【问题描述】:

我有 2 个 Azure 虚拟机 (Linux) 由公共 Azure 云服务进行负载平衡。两个实例都显示在同一云服务的 Azure 管理门户中。我想关闭一个实例并进行一些维护。但是,由于即使 VM 已关闭实例仍在显示,云服务仍在将流量引导到它。如何从云服务中删除实例或阻止云服务将流量定向到特定 VM 实例?那么之后如何将现有 VM 重新关联到该服务? (即从一种云服务更改为另一种)。

注意:SSH 可以在 VM 中使用,但 VM 使用的其他端口无法正常工作,就像它们试图转到其他 VM 一样,即使为活动 VM 创建了正确的端点。

【问题讨论】:

【参考方案1】:

负载平衡集中的端口探测的目的是让负载平衡器能够检测虚拟机是否能够接受流量。当configuring 负载平衡端点时,您可以为探测指定网页或 TCP 端点 - 这应该存在于每个实例上。只要网页返回 200 OK 或 TCP 端点在负载均衡器探测时接受连接,流量就会被定向到 VM。您可以指定探测之间的时间间隔以及在端点被视为死亡并应停止轮换之前必须失败的探测次数(默认为每 15 秒和 2 次探测)。

您可以通过确保配置的探测页面返回 200 OK 以外的值来让 VM 退出负载平衡器轮换,然后通过再次发送 200 OK 将其恢复轮换。

【讨论】:

我还没有验证这个答案。但是有人会认为 Azure 管理门户中的云服务 -> 实例中会有一个取消分配选项,以取消分配特定实例的负载平衡。有时您需要进行升级并且服务器需要保持运行。似乎需要做很多额外的工作才能使服务器返回 200 OK 以外的值。【参考方案2】:

当我需要保持我的 web 服务运行并返回 200 状态时,我不得不求助于从负载平衡集中删除端点。这样做非常简单,但是 webPortal 通常需要一分钟来删除端点,然后在您重新创建端点后再次将其放回集合中。

【讨论】:

以上是关于从负载平衡的云服务中删除 Azure VM 实例的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Azure系列之九 实现基于Iaas云服务的虚机负载平衡

Azure技术13-高可用--Azure负载平衡器

Windows Azure VM 之间的数据库镜像

在 Azure 中托管 WCF 和可扩展性怎么样?

负载平衡环境中的 .Net Core 托管服务

Microsoft Azure 的负载平衡器的Session Sticky