组件对比

OVS组件与Calico组件均原生支持ARM64架构运行,两者在各自的网络模型实现上存在原理性差距,组件选型指导对照表如表1所示,用户可根据对照表内容和下列步骤决定选择采用具体的网络组件。

表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软隔离

高级功能生态支持

强(SDN集成、限速功能等特性)

中等

特殊要求

大于100个节点部署时,建议修改网络配置Full-Mesh全连接为Route-Reflector路由反射,每100个节点配置1~2个路由反射节点