在CCE中创建集群时,您需要根据具体的业务需求规划VPC的数量、子网的数量、容器网段划分和服务网段连通方式。
本文将介绍VPC环境下CCE集群里各种地址的作用,以及地址段该如何规划。
约束与限制
通过搭建VPN方式访问CCE集群,需要注意VPN网络和集群所在的VPC网段、容器使用网段不能冲突。
集群各网段基本概念
VPC网段/子网网段
虚拟私有云(Virtual
Private
Cloud,简称VPC)是您在天翼云上申请的为云服务器、云容器、云数据库等资源构建隔离的、用户自主配置和管理的虚拟网络环境。您可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性公网IP搭建业务系统。
子网是用来管理弹性云服务器网络平面的一个网络,可以提供IP地址管理、DNS服务,子网内的弹性云服务器IP地址都属于该子网。
默认情况下,同一个VPC的所有子网内的弹性云服务器均可以进行通信,不同VPC的弹性云服务器不能进行通信。不同VPC的弹性云服务器可通过创建对等连接通信。
在CCE中创建集群时,需要选择VPC和子网,集群的控制节点(k8s控制面)将在所选择的子网中创建。
容器网段(pod网段)
Pod是Kubernetes内的概念,每个Pod具有一个IP地址。
在CCE中创建集群时,可以指定Pod的地址段(即容器网段),容器网段不能和子网网段重叠。例如子网网段用的是 192.168.0.0/16,集群的容器网段就不能使用192.168.0.0/18,192.168.1.0/18等,因为这些地址都涵盖在 192.168.0.0/16 里了。
服务网段
Service也是Kubernetes内的概念,每个Service都有自己的地址,在CCE中创建集群时,可以指定service的地址段(即服务网段)。同样,服务网段也不能和子网网段重合,而且服务网段也不能和容器网段重叠。服务网段只在集群内使用,不能在集群外使用。
容器网段、服务网段、子网网段和VPC网段关系请参见下图:
单VPC+单集群场景
这是最简单的情形。VPC网段在创建VPC的时候就已经确定,创建CCE集群时,选择目标VPC网段即可。
单VPC+多集群场景
一个VPC下创建多个CCE集群。
在“VPC网络”模式下,Pod的报文需要通过VPC路由转发,CCE会自动在VPC路由上配置到每个容器网段的路由表。
注意• VPC地址还是创建VPC时确定的,当创建集群时,为每个集群选择一个不重叠的地址段,不仅不能和VPC地址重叠,也不和其他容器网段重叠。
• 所有集群的容器网段不能重叠,但服务网段可以重叠。在此情况下CCE集群部分互通,一个集群的Pod可以直接访问另外一个集群的Pod,但不能访问另外一个集群的Service。
• VPC网络模式下每个节点占用一条VPC路由规则,组网规模受限于VPC路由表配额。
在“容器隧道网络”模式下,容器网络是承载于VPC网络之上的Overlay网络平面,具有付出少量隧道封装性能损耗,获得了通用性强、互通性强、高级特性支持全面(例如Network Policy网络隔离)的优势,可以满足大多数应用需求。
注意• VPC地址还是创建VPC时确定的,创建集群时,为每个集群选择一个不重叠的地址段,不仅不能和VPC地址重叠,也不和其他容器网段重叠。
• 所有集群的容器网段可以重叠,服务网段也可以重叠。
• 跨集群的容器之间访问,建议通过ELB实现。
VPC互联场景
两个VPC网络互联的情况下,可以通过路由表配置哪些报文要发送到对端VPC里。
在“VPC网络”模式下,创建对等连接后,需要在两端VPC内添加对等连接路由信息,才能使两个VPC互通。
注意• VPC地址是在创建VPC的时候确定的,创建集群的时候,为每个集群选择一个不重叠的地址段,不仅不能和VPC地址重叠,也不和其他容器网段重叠。
• 所有集群的容器网段不能重叠,但服务网段可以重叠。
• 对等连接的路由表中需要添加对端容器网段的地址。示例操作如下:
同样,在“容器隧道网络”模式下,创建对等连接后,您需要在两端VPC内添加对等连接路由信息,才能使两个VPC互通。
注意• VPC地址是在创建VPC的时候确定的,创建集群的时候,为每个集群选择一个不重叠的地址段,不仅不能和VPC地址重叠,也不和其他容器网段重叠。
• 所有集群的容器网段可以重叠,服务网段也可以重叠。
• 对等连接的路由表中需要添加对端集群节点子网网段的地址。
VPC网络到IDC的场景
和VPC互联场景类似,同样存在VPC里部分地址段路由到IDC,则CCE集群的Pod地址就不能和这部分地址重叠。IDC里如果需要访问集群里的Pod地址,同样需要在IDC端配置到专线VBR的路由表。