CNI相关总结

考虑几个问题:

1、需要细粒度网络访问控制?

这个flannel是不支持的,calico支持,所以做多租户网络方面的控制ACL,那么要选择 calico。

2、追求网络性能?

选择 flannel host-gw 模式 和 calico BGP 模式。

3、服务器之前是否可以跑BGP协议?

很多的公有云是不支持跑BGP协议,那么使用calico的BGP模式自然是不行的。

4、集群规模多大?

如果规模不大,100以下节点可以使用flannel,优点是维护比较简单。

5、是否有维护能力?

calico的路由表很多,而且走BGP协议,一旦出现问题排查起来也比较困难,上百台的,路由表去排查也是很麻烦,这个具体需求需要根据自己的情况而定。

总结:

如果是在公有云上,由于宿主机网络本身比较“直白”,在同一个网段之内,我一般会推荐简单的 Flannel host-gw 模式。

如果是线下机房,Node节点,尽可能在同一网段,使用简单的 Flannel host-gw 模式,如果不在同一网段,可以使用vxlan-DirectRouting模式