OVS组件与Calico组件均原生支持ARM64架构运行,两者在各自的网络模型实现上存在原理性差距,组件选型指导对照表如表1所示,用户可根据对照表内容和下列步骤决定选择采用具体的网络组件。
组件 |
Open vSwitch |
Calico |
---|---|---|
基础网络模型 |
L2(Underlay/Overlay) |
L3 BGP(Overlay) |
网络配置支持 |
GRE/VxLAN/VLAN |
BGP/IPIP/VxLAN |
生态成熟度 |
高,与Kubernetes集成时需要使用额外的插件,如k-vswitch、kube-ovn等 |
较高,与Kubernetes等容器编排引擎配合很好 |
易用性 |
中等 |
简单 |
VLAN支持 |
原生支持 |
支持,基于三层路由实现 |
网络性能 |
优 GRE、VxLAN封解包和流表匹配存在少量性能损耗 |
优 IPIP封解包存在少量性能损耗 |
计算资源 |
网络压力大时占用高 |
低,三层路由直达,使用内核路由表和IP Table,计算资源开销低 |
集群外访问 |
基于二层路由直达 跨VLAN需要有路由支持 |
基于三层路由直达 |
访问集群外部 |
基于二层路由直达 跨VLAN需要有路由支持 |
基于三层路由直达 |
单集群节点数量 |
无上限 |
无上限 |
单集群IP地址空间 |
无上限 |
无上限,默认65535 |
单节点IP地址空间 |
无上限(单节点支持多VLAN) |
无上限 |
Pod指定IP地址分配 |
支持 |
支持 |
Pod固定IP地址 |
支持 |
不支持,需额外定制开发 |
多网络平面支持 |
当前社区无版本不支持 |
开源社区支持 |
网络隔离能力 |
VLAN、Network Policy两级隔离 |
iptables软隔离 |
高级功能生态支持 |
强( |
中等 |
特殊要求 |
无 |
大于100个节点部署时,建议修改网络配置Full-Mesh全连接为Route-Reflector路由反射,每100个节点配置1~2个路由反射节点 |