CNI 的性能对比

2023-12-08 17:39:23 +08:00
HugeNature  HugeNature

有十几台的机器,网卡是 200G 的,都是直连在同一个交换机下的同一个 VLAN ,对网络性能要求比较高,这种情况下 CNI 选择上大家有什么推荐么?

2183 次点击
所在节点   Kubernetes  Kubernetes
14 条回复
rrfeng
rrfeng
2023-12-08 18:01:48 +08:00
hostnetwork 最佳
如果你能管理 IP 的话,直接机器上 bridge 一下分配同网段地址(子接口不知道行不行)

其次才考虑 overlay 方案( vxlan ,calico ,,,)
yuan1028
yuan1028
2023-12-08 18:07:06 +08:00
可以看看 flannel host-gw ,机器不多同网段感觉比较适合
yuan1028
yuan1028
2023-12-08 18:08:10 +08:00
如果是云服务的机器,比如阿里,可以看看弹性网卡辅助 IP 上 terway
HugeNature
HugeNature
2023-12-08 18:18:49 +08:00
@rrfeng hostnetwork 性能的确是最好的,但是管理那么多 ports 运维是不是要疯。。。
HugeNature
HugeNature
2023-12-08 18:20:07 +08:00
@yuan1028 flannel host-gw 性能还不如 calico
rrfeng
rrfeng
2023-12-08 18:55:09 +08:00
@HugeNature 不会的,可以自动化。小规模集群给 k8s 加个 hook 分配端口就行了。
tomwei7
tomwei7
2023-12-08 20:26:47 +08:00
网卡拆 SR-IOV 然后分给容器应该是比较好管理而且性能损失最小的方案,同时能充分利用网卡提供的功能。Linux bridge 应该没办法到 200G
onetown
onetown
2023-12-08 21:53:28 +08:00
主要是 linux kernel 有 1M pps 限制啊, 你用容器, 那么当然是共享一个 kernel 了, 这个就算你 sr-iov 也解决不了, 只要数据包到了内核, 就会触发这个限制。 你还是考虑一下 kernel bypass 的方案吧,dpdk + vhost 的方式也许能解决你的问题吧。
neowong2005
neowong2005
2023-12-08 22:29:53 +08:00
cilium ?
xycost233
xycost233
2023-12-12 17:35:38 +08:00
之前做过高并发性能测试,首选 host network 模式,次选类似 calico bgp 之类的模式,其他 overlay 模式会有较大的性能损失
xycost233
xycost233
2023-12-12 17:41:39 +08:00
@xycost233 打个比方 calico 的 overlay 是通过 ipip 来实现的,在通信过程中会多一层 tunnel 用来封包和解包,会增加很多软中断,性能会降低个 15%左右(根据业务和配置不同而变化)
HugeNature
HugeNature
2023-12-13 16:32:11 +08:00
@xycost233 有测过 multus 么?
xycost233
xycost233
2023-12-13 16:59:49 +08:00
@HugeNature #12 没测过,不过只要原理没变,性能不会有太大的差异
yunshangdetianya
yunshangdetianya
285 天前
macvlan?

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

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

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

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

© 2021 V2EX