更新时间:2025-06-13 GMT+08:00

网络管理

集群网络构成

  • 节点网络

    节点网络为集群内节点分配IP地址,您需要选择VPC中的子网用于CCE集群的节点网络。子网的可用IP数量决定了集群中可以创建节点数量的上限(包括控制节点和Node节点),集群中可创建节点数量还受容器网络的影响,详情请参见节点可创建的最大Pod数量说明

  • 容器网络

    为集群内Pod分配IP地址。CCE继承Kubernetes的IP-Per-Pod-Per-Network的容器网络模型,即每个Pod在每个网络平面下都拥有一个独立的IP地址,Pod内所有容器共享同一个网络命名空间,集群内所有Pod都在一个直接连通的扁平网络中,无需NAT可直接通过Pod的IP地址访问。Kubernetes只提供了如何为Pod提供网络的机制,并不直接负责配置Pod网络;Pod网络的具体配置操作交由具体的容器网络插件实现。容器网络插件负责为Pod配置网络并管理容器IP地址。

    当前CCE支持如下容器网络模型。

    • 容器隧道网络:容器隧道网络在节点网络基础上通过隧道封装构建的独立于节点网络平面的容器网络平面,CCE集群容器隧道网络使用的封装协议为VXLAN,后端虚拟交换机采用的是openvswitch,VXLAN是将以太网报文封装成UDP报文进行隧道传输。
    • VPC网络:VPC网络采用VPC路由方式与底层网络深度整合,适用于高性能场景,节点数量受限于虚拟私有云VPC的路由配额。每个节点将会被分配固定大小的IP地址段。VPC网络由于没有隧道封装的消耗,容器网络性能相对于容器隧道网络有一定优势。VPC网络集群由于VPC路由中配置有容器网段与节点IP的路由,可以支持集群外直接访问容器实例等特殊场景。
    • 云原生2.0网络:云原生网络2.0是自研的新一代容器网络模型,深度整合了虚拟私有云VPC的弹性网卡(Elastic Network Interface,简称ENI)和辅助弹性网卡(Sub Network Interface,简称Sub-ENI)的能力,直接从VPC网段内分配容器IP地址,且支持ELB直通容器、Pod绑定安全组、Pod绑定弹性公网IP等特性。由于不需要使用容器隧道封装和NAT地址转换,云原生网络2.0模型与容器隧道网络模型和VPC网络模型相比具有比较高的网络性能。

    不同容器网络模型,容器网络的性能、组网规模、适用场景各不相同,在容器网络模型对比章节,将会详细介绍不同容器网络模型的功能特性,了解这些有助于您选择容器网络模型。

  • 服务网络

    服务(Service)是Kubernetes内的概念,每个Service都有一个固定的IP地址,在CCE上创建集群时,可以指定Service的地址段(即服务网段)。服务网段不能和节点网段、容器网段重叠。服务网段只在集群内使用,不能在集群外使用。

网络访问场景

在CCE集群中,存在以下网络访问场景:

  • 从集群内部访问工作负载:创建ClusterIP类型的Service,通过Service访问工作负载。
  • 从集群外部访问工作负载:从集群外部访问工作负载推荐使用LoadBalancer类型ServiceIngress访问。
    • 通过公网访问工作负载:需要LoadBalancer绑定公网IP。
    • 通过内网访问工作负载:通过LoadBalancer的内网IP即可访问工作负载。如果跨VPC需要通过对等连接等手段打通不同VPC网络。
  • 工作负载访问外部网络:
    • 工作负载访问内网:负载访问内网地址,需要注意在对端安全组放通容器网段。
    • 工作负载访问公网:访问公网有几种方法可以实现,一是让容器所在节点绑定公网IP(容器网络模型为VPC网络或容器隧道网络),或给Pod IP绑定公网IP(为Pod配置EIP),另一个是通过NAT网关配置SNAT规则(从容器访问公网)。
图1 网络访问示意图