最近更新时间:2024-05-06 16:33:09
金山云容器服务集成Kubernetes网络、金山云VPC、SLB等网络产品,提供稳定高性能的容器网络。在KCE创建Kubernetes集群时,需要用户自主规划集群VPC网络、网络模型、pod网络和service网络。这里将详细介绍金山云VPC环境下Kubernetes里各个网络的作用,以及地址段将如何划分。
集群网络:选择集群所在的VPC网络。为集群内主机分配在节点网络地址范围内的 IP 地址,您可以选择私有网络中的子网用于集群的节点网络,更多私有网络的介绍请参考虚拟网络和子网。
网络模型:网络模型决定了集群内容器的通信方式,为集群内Pod分配IP地址。Kubernetes提供了如何为Pod分配网络的机制,Pod网络的具体配置由具体的容器网络插件实现。KCE支持全局路由网络模式和VPC-CNI模式的混合部署,详细说明可参考集群的网络模式。
Pod网络:将为kubernetes集群的pod分配此网络地址段内的IP。
全局路由模式:您可以自定义三个私有网段作为pod的网段,KCE将根据您选择的每个节点上的Pod数量上限,自动为集群内每台云服务器分配适当大小的网段用于该主机分配Pod的IP地址。
VPC-CNI模式:若您在全局路由模式基础上附加开启了VPC-CNI模式,KCE将为开启VPC-CNI模式的Pod分配VPC指定子网中的IP。
注意:创建集群时配置的单节点pod数量上限及pod cidr不支持变更,您可以通过新增节点,或重建集群并重新规划pod网段来增加支持的pod数量。
Service网络:将为Service分配此网络地址段的IP。Service地址仅能在集群内使用,不能在集群外使用。
在一个集群中,集群网络、Pod网络和Service网络地址段不能冲突。
同一个VPC内,不同集群的Pod网络地址段不能冲突,Service地址段可以重叠。
下面将列举几个典型场景,帮助大家更深刻的理解Kubernetes集群网络地址段的划分:
集群网络在创建VPC的时候就已经确定,在创建Kubernetes集群时,只要设定Pod和Service网络地址段与VPC不冲突即可。
在一个VPC下可以创建多个Kubernetes集群。基于金山云容器服务网络模型(容器服务会自动在VPC路由上配置每个Pod地址的路由,Pod与Pod,Pod与Node之间的通信利用VPC的路由转发),故一个VPC内的多个集群,Pod地址段不能冲突,Service地址段允许重复。
两个VPC互联的情况下,需要使用对等连接。举例如下:VPC1(10.0.0.0/16)和VPC2(172.16.0.0/16)通过对等连接建立了跨VPC互联,在VPC1内创建Kubernetes集群,首先该集群的Pod网络地址段不能和VPC1的网段冲突,同时其地址段也不能和VPC2的地址段冲突。同理,在VPC2创建Kubernetes集群也类似。
纯净模式