1
WithLin 2022-04-23 13:06:30 +08:00
容器网络挺好的,为啥不基于 cilium 做二开发呢
|
2
FabricPath OP @WithLin 原因比较多,比如 Cilium 功能太多,而大部分功能在内网是不需要的,比如 NetworkPolicy 、非 VxLAN 隧道支持
Cilium 为了适配各种场景、各种 kernel 版本,使得它的复杂度很高,而我们的场景要小很多;同时还有一些场景是 Cilium 不支持的,比如多个物理网卡 一些额外的功能,比如 Pod 内多网卡,社区方案只能用 multus ,而 multus 需要通过 crd 来存储数据;历史原因 Pod 的 IP 需要 BGP 发布到 Underlay ,所以需要额外的 IPAM Cilium 能支持的规模也太小,因为大量使用了 apiserver 的 api ,基本上集群规模到 2k 左右就到头了;同理太多的功能判断也导致数据面的性能没有做到最好 维护 Cilium 的难度不亚于参考 Cilium 的方案重写一个,大部分思想还是从 Cilium 来的,只是代码是重写的,以及抄了 Cilium 部分 ebpf 片段。 |
3
WithLin 2022-04-25 15:50:34 +08:00
@FabricPath
明白,毕竟网络都是围绕公司的现状和业务去开展的。像你说的 pod 多网卡,应该是兼容一些类似 rook-ceph 之类的场景吧,感觉和我们做的差不多,而外的 ipam 是走的 macvlan 然后自己写了个 etcd 的存储之类的么? |
4
FabricPath OP @WithLin 多网卡的场景非常小,目前只有 RDMA 场景需要按 GPU 的 NUMA 数量分配 VF 的场景有。IPAM 就是一个中心化 IPAM
|