0x010

k8s service 无法负载均衡

  •  
  •   0x010 · Aug 16, 2022 · 4477 views
    This topic created in 1540 days ago, the information mentioned may be changed or developed.

    k8s 环境:service + deployment + hpa 本地: 创建大量的 http 请求访问 service

    现象: 1 、刚开始正常访问 service ,service 对应一个 podA 的 endpointA ,实际请求由这个 podA 完成; 2 、访问量增大,hpa 指标超过阈值自动扩容; 3 、service 对应的 endpoint 变多,endpointA ,endpointB ,endpointC... 4 、新创建的 http 请求访问 service 还是只路由 endpointA ,service 并没有负载均衡; 5 、正在运行的代码不动,运行新的代码创建 http 请求访问 service 可以实现负载均衡,或者直接重启原先的代码,service 也可以负载均衡。

    情况和链接( https://www.cnblogs.com/zhangdaopin/p/15850840.html )中的一样,但我环境中 service 的 sessionAffinity 并不是 ClientIP ,所以链接中的博客没有解决问题

    请教大家如何使步骤 4 中的 service 能够负载均衡?

    Supplement 1  ·  Aug 17, 2022
    谢谢大家,两个方法:
    1 、每次 http 请求关闭 TCP 连接;
    2 、使用 Ingress 做 7 层转发;
    都可以实现
    16 replies  •  2022-08-17 13:14:50 +08:00
    rrfeng
    rrfeng
    Aug 16, 2022
    1
    负载均衡器类型是什么?
    0x010
    0x010
    OP
    Aug 16, 2022
    2
    @rrfeng service 是 nodeport 的
    jelipo
    jelipo
    Aug 16, 2022
    3
    有可能 http 是长连接
    lsp7572
    lsp7572
    Aug 16, 2022
    4
    长连接吧,你看看是不是内部有连接池,连接池里实际上维护的都是到 A 的链接
    sujin190
    sujin190
    Aug 16, 2022
    5
    service 是 4 层的端口转发,只能针对连接的负载均衡吧,你不重连自然不能重新分配请求新节点
    oldboy627
    oldboy627
    Aug 16, 2022
    6
    kube-proxy 模式是什么?
    Daz
    Daz
    Aug 16, 2022
    7
    压测的 http 客户端,可能有链接复用,keep alive 的

    新建 tcp 链接的时候,才有负载均衡
    0x010
    0x010
    OP
    Aug 16, 2022
    8
    @oldboy627 ipvs
    0x010
    0x010
    OP
    Aug 16, 2022
    9
    @jelipo
    @lsp7572
    @Daz
    谢谢思路,我明天试一下
    0x010
    0x010
    OP
    Aug 16, 2022
    10
    @sujin190 这个是和长连接一个思路么
    sujin190
    sujin190
    Aug 16, 2022
    11
    @Mark42 #10 具有 7 层负载均衡效果的应该 ingress 吧,如果用云的化,似乎腾讯、阿里、华为云实现的负载均衡其实也是分的,选择 4 层就是端口转发,7 层其实就是 ingress
    0x010
    0x010
    OP
    Aug 16, 2022
    12
    @sujin190 内网的集群,明天也试试 ingress 。thx
    d0m2o08
    d0m2o08
    Aug 17, 2022
    13
    是不是配置了 sessionAffinity
    mengzhuo
    mengzhuo
    Aug 17, 2022
    14
    nodePort 不会负载均衡吧,改成 cluster ip
    konakona
    konakona
    Aug 17, 2022
    15
    你设了 deployment 的 resource 吗?
    chronos
    chronos
    Aug 17, 2022
    16
    看起来像是因为 http 的长连接导致的问题,对于 http server 还是用 ingress 做 7 层负载均衡吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3850 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 05:34 · PVG 13:34 · LAX 21:34 · JFK 00:34
    ♥ Do have faith in what you're doing.