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