You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Haproxy集群计划内停机时如何实现连接排空与平滑切换?附K8s迁移疑问

关于HAProxy集群连接排空与K8s迁移的解决方案

好的,咱们一步步来拆解你的问题,给出实用的解决方案:

一、HAProxy计划内停机的连接排空方案

HAProxy本身就支持**优雅停止(软停止)**的能力,配合Keepalived的手动切换,可以实现计划内停机时排空现有连接,同时让从节点接管新连接,具体操作流程如下:

  1. 先切换VIP到从节点
    在主HAProxy节点上,停止Keepalived服务(或者通过Keepalived命令将其设置为备份状态):

    systemctl stop keepalived
    

    此时Keepalived会触发VRRP切换,VIP自动绑定到从节点,新的SSH连接会直接路由到从HAProxy,不会再进入主节点。

  2. 优雅排空主节点的连接
    对主HAProxy执行软停止命令,它会停止接受新连接,同时等待所有活跃的SSH连接自然断开后再退出:

    haproxy -sf $(cat /var/run/haproxy.pid)
    

    注意:SSH属于长连接,你可以根据业务需求调整HAProxy配置中的timeout client参数,或者给软停止足够的等待时间,避免强制断开正在使用的连接。

  3. 完成维护后恢复
    主节点维护完成后,先启动HAProxy,再启动Keepalived:

    systemctl start haproxy
    systemctl start keepalived
    

    由于主节点的Keepalived优先级高于从节点,VIP会自动切回主节点,恢复正常集群状态。

二、具备连接排空能力的其他替代工具

如果HAProxy的方案满足不了你的需求,这些工具也支持优雅排空+集群高可用:

  • Traefik(开源):自带优雅关闭机制,配置中可设置graceTimeOut参数控制连接等待时间。部署集群时,配合VRRP工具(如Keepalived)即可实现VIP漂移,新连接自动切换,旧连接优雅排空。
  • Nginx Plus(商业):提供主动健康检查与连接排空功能,支持优雅停止,配合VRRP集群可以实现无缝的流量切换,适合对稳定性要求极高的企业场景。
  • F5 BIG-IP(商业):企业级负载均衡器,自带连接迁移与优雅排空功能,能在主节点停机时不仅接管新连接,还可以迁移部分活跃连接到从节点(需特定配置),但成本较高。

三、迁移到Kubernetes集群后的实现方式

完全可以实现!Kubernetes原生就支持Pod优雅终止的能力,配合HAProxy的软停止逻辑,能自动完成单个Pod的连接排空,同时让其他Pod接管流量:

  1. K8s的优雅终止流程
    当你删除HAProxy Pod、触发滚动更新或缩容时,K8s会自动执行以下步骤:

    • 将该Pod从Service的端点列表中移除,新的SSH连接不会再转发到这个Pod。
    • 向Pod发送SIGTERM信号,通知HAProxy进程准备停止。
    • 等待你设置的terminationGracePeriodSeconds时长,让HAProxy排空现有连接;如果超时后连接仍未结束,K8s会发送SIGKILL强制终止进程。
  2. 关键配置要点

    • 在HAProxy的Deployment中,配置容器的lifecycle钩子,捕获SIGTERM并执行软停止命令:
      lifecycle:
        preStop:
          exec:
            command: ["haproxy", "-sf", "$(cat /var/run/haproxy.pid)"]
      
    • 设置合理的terminationGracePeriodSeconds,比如根据SSH连接的最长持续时间设置为3600秒(1小时):
      terminationGracePeriodSeconds: 3600
      
    • 使用K8s Service作为流量入口(NodePort/LoadBalancer/ClusterIP),Service会自动负责将新连接转发到正常运行的HAProxy Pod,无需额外配置Keepalived。
  3. 额外优势
    K8s的滚动更新功能可以自动逐个排空Pod,无需手动操作VIP切换,运维流程更自动化、更可靠。

内容的提问来源于stack exchange,提问作者Dipu H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 18:25:13