Kubernetes跨主机容器之间的通信组件,目前主流的是flannel和calico。

我们将集中探索与对比目前最流行的CNI插件:Flannel、Calico

目前比较常用的时flannel和calico,flannel的功能比较简单,不具备复杂网络的配置能力,calico是比较出色的网络管理插件,单具备复杂网络配置能力的同时,往往意味着本身的配置比较复杂,所以相对而言,比较小而简单的集群使用flannel,考虑到日后扩容,未来网络可能需要加入更多设备,配置更多策略,则使用calico更好

总的来说,Flannel是大多数用户的不错选择。从管理角度来看,它提供了一个简单的网络模型,用户只需要一些基础知识,就可以设置适合大多数用例的环境。一般来说,在初期使用Flannel是一个稳妥安全的选择,直到你开始需要一些它无法提供的东西。

Flannel默认和推荐的方法是使用VXLAN,因为VXLAN性能更良好并且需要的手动干预更少。

Calico 作为老牌网络解决方案,可圈可点,已被 github 等公司用于生产。

flannel实现的是网络通信,calico的特性是在pod之间的隔离。

纯三层的转发,中间没有任何的NAT和overlay,转发效率最好。

总结:

Flannel:

优势:部署简单,性能一般。

劣势:没办法实现固定 IP 的容器漂移,没法做子网隔离,对上层设计依赖程度高,没有 IPAM , IP 地址浪费,对 Docker 启动方法有绑定。

————————————————

版权声明:本文为CSDN博主「西京刀客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/inthat/article/details/103921026

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐