K8S 使用 nodePort 方式暴露服务,发现没有负载均衡的效果,都请求到了一个 pod 里, 求教问题出在哪里?

2020-10-15 19:37:53 +08:00
 xiaoyanbot

按照如下的指南进行的 nodeport 方式的暴露服务,

https://github.com/easzlab/kubeasz/tree/master/docs/practice/go_web_app

K8S 版本是 1.18

最后做出来的效果是, 请求 nodeport 的地址,不管是一个的,还是不同节点的 nodeport 地址, 都是请求到了同一个 pod 里 (反应是 instance id 相同, 不是上面指南里的 不同)

确认 coredns 是正常的, 分布在两个节点里的各个 pod 也是正常的, 请求 pod 的 ip 和端口的方式,instance id 都是不同的。

百思不得其解, 请教各位大佬, 是咋回事? 难道是对 nodeport 的理解有误解? nodeport 不是在 pod 后端服务之间负载均衡, 是 绑定唯一 pod,其他 pod 作为备份? 感觉有那里不对呀

4382 次点击
所在节点    Kubernetes
7 条回复
jwangkun
2020-10-15 20:23:50 +08:00
lff0305
2020-10-15 21:31:52 +08:00
kubectl get ep -n <namespace>
看看 hellogo-svc 的 endpoint 是不是正常(应该是三个)
joyme
2020-10-15 23:39:05 +08:00
看看 service 的 sessionAffinity
kiddingU
2020-10-16 09:23:04 +08:00
externalTrafficPolicy 这个确定不是设置的 local?
xiaoyanbot
2020-10-16 09:28:18 +08:00
搞定了 是内核的一个问题
Gzp
2020-10-16 10:01:41 +08:00
@xiaoyanbot #5 不写一片文章介绍一下啥问题嘛
tamer
2020-10-16 16:15:09 +08:00
如果有人搜索解决办法进到这里看到你的解决方案不知作何感想
即便回答没有帮到,但简单的描述一下自己的解决办法,哪怕只是索引关键词都可以,并不会浪费多少时间

这样恶性循环,又会被说中文社区质量堪忧不是

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715363

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX