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 能够负载均衡?
1
rrfeng 2022 年 8 月 16 日
负载均衡器类型是什么?
|
3
jelipo 2022 年 8 月 16 日
有可能 http 是长连接
|
4
lsp7572 2022 年 8 月 16 日
长连接吧,你看看是不是内部有连接池,连接池里实际上维护的都是到 A 的链接
|
5
sujin190 2022 年 8 月 16 日
service 是 4 层的端口转发,只能针对连接的负载均衡吧,你不重连自然不能重新分配请求新节点
|
6
oldboy627 2022 年 8 月 16 日
kube-proxy 模式是什么?
|
7
Daz 2022 年 8 月 16 日
压测的 http 客户端,可能有链接复用,keep alive 的
新建 tcp 链接的时候,才有负载均衡 |
11
sujin190 2022 年 8 月 16 日
@Mark42 #10 具有 7 层负载均衡效果的应该 ingress 吧,如果用云的化,似乎腾讯、阿里、华为云实现的负载均衡其实也是分的,选择 4 层就是端口转发,7 层其实就是 ingress
|
13
d0m2o08 2022 年 8 月 17 日
是不是配置了 sessionAffinity
|
14
mengzhuo 2022 年 8 月 17 日
nodePort 不会负载均衡吧,改成 cluster ip
|
15
konakona 2022 年 8 月 17 日
你设了 deployment 的 resource 吗?
|
16
chronos 2022 年 8 月 17 日
看起来像是因为 http 的长连接导致的问题,对于 http server 还是用 ingress 做 7 层负载均衡吧。
|