集群网络模型选择及各模型区别
自研高性能商业版容器网络插件,支持容器隧道网络、VPC网络、云原生网络2.0网络模型:
集群创建成功后,网络模型不可更改,请谨慎选择。
- 容器隧道网络(Overlay):基于底层VPC网络构建了独立的VXLAN隧道化容器网络,适用于一般场景。VXLAN是将以太网报文封装成UDP报文进行隧道传输。容器网络是承载于VPC网络之上的Overlay网络平面,具有付出少量隧道封装性能损耗,即可获得通用性强、互通性强、高级特性支持全面(例如Network Policy网络隔离)的优势,可以满足大多数应用需求。
图1 容器隧道网络
- VPC网络:采用VPC路由方式与底层网络深度整合,适用于高性能场景,节点数量受限于虚拟私有云VPC的路由配额。每个节点将会被分配固定大小的IP地址段。VPC网络由于没有隧道封装的消耗,容器网络性能相对于容器隧道网络有一定优势。VPC网络集群由于VPC路由中配置有容器网段与节点IP的路由,可以支持集群外直接访问容器实例等特殊场景。
图2 VPC网络
- 云原生网络2.0:深度整合弹性网卡(Elastic Network Interface,简称ENI)能力,采用VPC网段分配容器地址,支持ELB直通容器,享有高性能。
图3 云原生网络2.0
网络模型对比如下:
对比维度 |
容器隧道网络 |
VPC网络 |
云原生网络2.0 |
---|---|---|---|
适用场景 |
|
|
|
核心技术 |
OVS |
IPVlan,VPC路由 |
VPC弹性网卡/弹性辅助网卡 |
适用集群 |
CCE Standard集群 |
CCE Standard集群 |
CCE Turbo集群 |
容器网络隔离 |
Pod支持Kubernetes原生NetworkPolicy |
否 |
Pod支持使用安全组隔离 |
ELB对接Pod |
ELB对接Pod需要通过节点NodePort转发 |
ELB对接Pod需要通过节点NodePort转发 |
使用独享型ELB时可直接对接Pod 使用共享型ELB对接Pod需要通过节点NodePort转发 |
容器IP地址管理 |
|
|
容器网段从VPC子网划分,无需设置单独的容器网段 |
网络性能 |
基于VxLAN隧道封装,有一定性能损耗。 |
无隧道封装,跨节点通过VPC路由器转发,性能较好,可媲美主机网络,但存在NAT转换损耗。 |
容器网络与VPC网络融合,性能无损耗。 |
组网规模 |
最大可支持2000节点 |
受限于VPC路由表能力,适合中小规模组网,建议规模为1000节点及以下。 VPC网络模式下,集群每添加一个节点,会在VPC的路由表中添加一条路由(包括默认路由表和自定义路由表),因此集群本身规模受VPC路由表上限限制,创建前请提前评估集群规模。路由表配额请参见使用限制。 |
最大可支持2000节点 由于云原生网络2.0集群中的容器从VPC网段内分配IP地址,消耗VPC的地址空间,实际支持规模受限于VPC子网网段大小,因此创建前请提前评估集群规模。 |
- VPC路由网络集群实际支持规模受限于VPC的路由表路由条目配额,创建前请提前评估集群规模。
- VPC路由网络默认支持容器与同一VPC的虚拟机直接互访,与其他VPC的主机在配置对等连接策略后可以支持直接互访。此外,云专线/VPN等混合组网场景在合理规划后可以支持对端直接与容器互访。