小白请教各路大佬,在 iptables 模式中, kube-proxy 的性能到底是受 service 数量的影响还是受 pod 数量的影响?

2023-11-06 02:28:19 +08:00
 sidewalkerLin

在 iptables 模式中,kube-proxy 的性能到底是受 service 数量的影响还是受 pod 数量的影响? 我看网上的文章有些说 pod 数量,有些是说 service 数量,还是说都有影响? gpt4 告诉我是 service 。

以下是 gpt4 的回答: 我:查询时间的长短到底是跟 service 的数量还是跟 pod 的数量有关? gpt4:在 iptables 模式下,查询时间主要是跟 Service 的数量有关,因为 iptables 的规则是基于服务的 ClusterIP 和端口进行匹配的。每个 Service 都会创建一组 iptables 规则来处理到这个 Service ClusterIP 的流量。Endpoint (后端 Pod )的数量变化会导致 iptables 规则的更新,但是对于单个 Service 而言,这些更新只是修改现有的规则,而不是增加更多规则。 Service 数量:每个 Service 在 iptables 中至少会有一条规则(通常是多条),以实现 Service IP 到 Pod IP 的转发。因此,Service 的总数直接影响到 iptables 规则的总数。每次传入流量到达时,iptables 都必须对这些规则进行线性搜索,直到找到匹配的规则。所以 Service 的数量越多,平均查找时间就越长

1283 次点击
所在节点    Kubernetes
8 条回复
sidewalkerLin
2023-11-06 02:43:58 +08:00
呃是不是这样,查询时间是跟 iptables 规则的数量有关?时间复杂度是 O(n),然后规则的数量最少是 service 数量×pod 数量,所以是跟 service 数量和 pod 数量都有关系的,gpt4 之所以那样回答是因为 service 占大头?
lrh3321
2023-11-06 07:43:20 +08:00
service 数量,每个 service 都有自己对应的 Chain ,匹配进入对应 SVC chain 的规则都在同一个大的 Chain 下,这个东西是线性的。pod 数量多只会影响到对应 SVC chain 里面的处理能力,对其他 SVC 没影响
devopsdogdog
2023-11-06 09:47:58 +08:00
@sidewalkerLin 看看这个 书写的。 跟数量 有关,数量越多 规则越多 ,不管是 service 还是 pod 啥 iptable 反正规则多了 就慢。

https://www.thebyte.com.cn/network/netfilter.html#_2-iptables-%E8%87%AA%E5%AE%9A%E4%B9%89%E9%93%BE
julyclyde
2023-11-06 11:30:03 +08:00
你为什么首先假定非此即彼然后去问呢?
hancai
2023-11-06 11:35:18 +08:00
以为粗鄙的理解是受 svc 的影响,主要规则数量太多了
lvlongxiang199
2023-11-06 13:43:41 +08:00
你试试
sidewalkerLin
2023-11-06 18:02:41 +08:00
@lrh3321 我查了一下好像确实是这样,在查询的时候性能主要跟 svc 的数量有关,只需要找到对应 svc chain ,但是增删改的时候可能会造成大量规则甚至全量规则的变动,所以跟规则的数量有关,所以跟 svc 数量的 pod 数量都有比较大的关系
misoomang
2023-11-07 11:31:20 +08:00
集群里每新增一个 Service 在每个宿主机的 iptables 都会增加一条 iptables 规则,而每条 iptables 规则都有与 Pod 对应的集合

所以 Service 多了 iptables 会变多,Pod 多了对应的规则维护与 Pod 对应关系的集合也会多

故都有关系

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

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

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

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

© 2021 V2EX