CNI 的性能对比

165 天前
 HugeNature

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

1745 次点击
所在节点    Kubernetes
14 条回复
rrfeng
165 天前
hostnetwork 最佳
如果你能管理 IP 的话,直接机器上 bridge 一下分配同网段地址(子接口不知道行不行)

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

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

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

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

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

© 2021 V2EX