容器网络模型对比
容器网络为集群内Pod分配IP地址并提供网络服务,CCE支持如下几种网络模型,您可在创建集群时进行选择。
- VPC网络模型将虚拟私有云VPC的路由方式与底层网络深度整合,适用于性能要求较高的场景,但节点数量受限于虚拟私有云VPC的路由配额,适合中小规模组网。
在VPC网络模型中,容器网段独立于节点网段进行单独设置。在Pod IP地址分配时,集群中的每个节点会被分配固定大小的Pod IP地址段,用于给该节点上运行的Pod分配IP地址。由于VPC网络模型没有隧道封装的消耗,容器网络性能相对于容器隧道网络有一定优势。此外,使用VPC网络模型的集群时,由于VPC路由表中自动配置了容器网段与VPC网段之间的路由,可以支持同一VPC内的云服务器从集群外直接访问容器实例等特殊场景。
- 容器隧道网络模型是在主机网络平面的基础上,通过隧道封装技术来构建一个独立的容器网络平面。CCE集群容器隧道网络使用了VXLAN作为隧道封装协议,并使用了Open vSwitch作为后端虚拟交换机。VXLAN是一种将以太网报文封装成UDP报文进行隧道传输的协议,而Open vSwitch是一款开源的虚拟交换机软件,提供网络隔离和数据转发等功能。
容器隧道网络虽然会有少量隧道封装性能损耗,但具有通用性强、互通性强、高级特性支持全面(例如NetworkPolicy网络隔离)等优势,适用于大多数性能要求不高的场景。
|
对比维度 |
容器隧道网络 |
VPC网络 |
|---|---|---|
|
适用场景 |
|
|
|
核心技术 |
OVS |
IPVlan,VPC路由 |
|
适用集群 |
CCE Standard集群 |
CCE Standard集群 |
|
容器网络隔离 |
Pod支持Kubernetes原生NetworkPolicy |
否 |
|
ELB对接Pod |
ELB对接Pod需要通过节点NodePort转发 |
ELB对接Pod需要通过节点NodePort转发 |
|
Pod IP地址管理 |
|
|
|
每个节点上可运行的Pod数量 |
取决于节点可以创建的最大实例数,由kubelet的配置参数maxPods决定,详情请参见节点最大实例数。 |
由以下两个参数中的最小值决定:
|
|
网络性能 |
基于VxLAN隧道封装,有一定性能损耗。 |
无隧道封装,跨节点通过VPC路由器转发,性能较好,可媲美主机网络,但存在NAT转换损耗。 |
|
组网规模 |
最大可支持2000节点 |
受限于VPC路由表能力,适合中小规模组网,建议规模为1000节点及以下。 VPC网络模式下,集群每添加一个节点,会在VPC的路由表中添加一条路由,因此集群本身规模受VPC路由表上限限制,创建前请提前评估集群规模。 |