nul*_*ero 8 iis load-balancing azure
我们有一个应用程序部署到 Azure IaaS VM,由 IIS 提供服务。为了安装更新,我们需要将每台机器从负载均衡器中一一取出。在迁移到 Azure 之前,我们使用了 Microsoft NLB,它具有 DRAIN STOP 节点的功能 - 通过不发送新连接,但保持现有连接打开直到它们完成。我们如何使用 Azure LB 实现相同的目标?
小智 13
推荐的方法是在负载平衡集中使用自定义运行状况探测。例如,您可以在每个 VM 上创建一个简单的healthcheck.html页面(例如在 wwwroot 中),并将探针从负载平衡集定向到此页面。只要探测器可以检索到该页面 (HTTP 200),Azure 负载平衡器就会不断向 VM 发送用户请求。
当您需要更新 VM 时,您只需将healthcheck.html重命名为不同的名称,例如_healthcheck.html。这将导致探测器开始接收 HTTP 404 错误,并将使该计算机退出负载平衡轮换,因为它没有获得 HTTP 200。现有连接将继续提供服务,但 Azure LB 将停止向VM发送新请求。
完成对 VM 的更新后,将_healthcheck.html重命名回healthcheck.html。Azure LB 探针将开始获取 HTTP 200 响应,因此再次开始向此 VM 发送请求。
对负载平衡集中的每个 VM 重复此操作。
在他们的文档中,Microsoft 建议使用安全组来显式阻止运行状况探测。所有 Azure 负载均衡器运行状况探测都将来自 168.63.129.16。
例如,使用传入 NSG 规则拒绝 168.63.129.16 到达要从池中删除的虚拟机 NIC 的目标。
归档时间: |
|
查看次数: |
11049 次 |
最近记录: |