开发者社区 > 飞天洛神云网络 > 负载均衡 > 正文

请问各位,一个svc我启动了8个pod 运行结果 发送了8次请求,负载均衡ALB也无法实现,怎么办?

请问各位大佬,一个svc我启动了8个pod 运行结果 发送了8次请求,只有4个正常运行,8个其中两个没有接收到下发训练任务,其中两个接收了两次请求 导致正在训练的任务终止运行,当这个时候再次发送请求,又一次接收请求再次运行训练任务,改了ingress 最小连接数,负载均衡ALB也无法实现?

展开
收起
真的很搞笑 2024-04-06 22:24:51 46 0
1 条回答
写回答
取消 提交回答
  • 针对您提到的问题,“一个svc(Kubernetes Service)启动了8个pod,当发送8次请求时,即使使用了负载均衡ALB(Application Load Balancer),仍然无法实现请求均匀地分发到各个Pod上”,我们可以从以下几个方面进行排查和解决:

    确认Service类型:

    验证您的Kubernetes Service是否已配置为适当的类型,如LoadBalancer类型,并且已经与阿里云的ALB成功绑定。对于云服务商提供的ALB,确保配置正确并且已经关联到了对应的后端Pod。
    检查负载均衡策略:

    查看ALB上的会话保持设置(Session Affinity),确保没有启用不必要的会话粘滞功能,这可能导致请求总是被路由到同一个Pod。
    确认ALB的负载均衡算法,比如轮询、最少连接等,选择合适的算法来确保请求能够均匀分配。
    验证后端Pod状态:

    所有的8个Pod都应处于“Ready”状态,并且通过ALB的健康检查。如果某些Pod未通过健康检查,它们将不会接收到新的请求。
    测试方式:

    在进行负载测试时,确保每次请求之间有足够的间隔,避免由于缓存或者并发请求处理不当导致的请求集中在某几个Pod上。
    检查网络配置:

    检查网络配置以确保所有Pod都能通过ALB正常访问,并且没有其他网络层面的因素阻止请求的均匀分布。
    监控和日志:

    查看ALB和服务的日志以及监控指标,了解请求是如何实际分配的。分析日志可以帮助确定是否存在非预期的行为或配置问题。
    清洗缓存和重试:

    如果存在任何客户端或中间件缓存,确保在测试过程中清除这些缓存,以防止重复请求被定向到同一Pod。
    如果以上检查均无误,而问题依然存在,请进一步排查可能存在的特定场景下的ALB配置或Kubernetes Service配置问题,或者联系阿里云的技术支持获取专业的帮助。

    2024-04-07 17:08:29
    赞同 展开评论 打赏

阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性。 阿里云SLB包含面向4层的网络型负载均衡NLB、面向7层的应用型负载均衡ALB和传统型负载均衡CLB,是阿里云官方云原生网关。

相关产品

  • 负载均衡
  • 热门讨论

    热门文章

    相关电子书

    更多
    《应用型负载均衡ALB产品解读》 立即下载
    阿里云网络-SLB负载均衡产品介绍 立即下载
    负载均衡SLB热点问题解答 立即下载