建议您提前规划集群的规模、网络功能需求、专有网络VPC相关配置(VPC自身、交换机等)和集群网络相关配置(容器网络插件CNI、容器网段、服务网段等),确保网络资源的高效利用,为后续业务扩展预留充足空间。本文介绍如何在阿里云专有网络VPC环境中规划符合业务需求的ACK托管集群网络结构。
网络规模规划
网络通信规划
容器网络插件规划
ACK托管集群支持Terway和Flannel两种容器网络插件CNI,使用不同的插件会直接影响到支持的功能和网络配置的方式。如Terway支持NetworkPolicy,提供了基于策略的网络控制,而Flannel不支持;Terway容器网段是从VPC中分配的,而Flannel容器网段为指定的虚拟网段。
容器网络插件需要在创建集群时进行安装,且集群创建后不支持更改。建议在明确网络功能需求之后,再选择适合您业务的网络插件。
功能规划
对比项 | Terway | Flannel |
对比项 | Terway | Flannel |
NetworkPolicy网络策略 | 支持在ACK集群使用网络策略。 | 不支持。 |
IPv4/IPv6双栈 | 不支持。 ACK使用的是经过修改以适配阿里云云上环境的Flannel插件,并不与开源社区保持完全同步。ACK Flannel的更新记录,请参见Flannel。 | |
Pod固定IP | 不支持。 | |
Pod绑定EIP | 不支持。 | |
多集群互访 | 支持,多个集群的Pod之间只要设置安全组开放端口就可以互相通信。 | 不支持。 |
关于Terway和Flannel两种容器网络插件功能的详细对比,请参见容器网络插件Terway与Flannel对比。
网段规划
Terway配置示例
Terway单可用区配置
专有网络网段
交换机网段
Pod交换机网段
服务网段
最大可分配Pod地址数
192.168.0.0/16
可用区I
192.168.0.0/19
192.168.32.0/19
172.21.0.0/20
8192
Terway多可用区配置
专有网络网段
交换机网段
Pod交换机网段
服务网段
最大可分配Pod地址数
192.168.0.0/16
可用区I 192.168.0.0/19
192.168.32.0/19
172.21.0.0/20
8192
可用区J 192.168.64.0/19
192.168.96.0/19
配置Terway模式网络时,需要设置的参数及参数网段配置的注意事项如下:
专有网络
建议您使用192.168.0.0/16、172.16.0.0/12、10.0.0.0/8三个RFC标准私网网段及其子网作为VPC的主IPv4网段,网段掩码有效范围为8~28位。填写示例:192.168.0.0/16。
您也可以使用除100.64.0.0/10、224.0.0.0/4、127.0.0.0/8或169.254.0.0/16及其子网外的自定义地址段作为VPC的主IPv4网段。
如果有多VPC场景或VPC与本地数据中心构建混合云场景,建议您使用RFC标准私网网段的子网作为VPC的网段且掩码不超过16位,且多个VPC间、VPC和本地数据中心的网段不能冲突。
IPv6网段在VPC开启IPv6后由VPC分配。如果您需要使用IPv6容器网络,请选择Terway网络插件。
交换机
ECS使用的交换机,用于节点间网络通信。在VPC里创建交换机时指定的网段,必须是当前VPC网段的子集(可以和VPC网段一样,但不能超过)。配置网段时,请注意:
交换机下ECS所分配到的地址,就是从这个交换机网段内获取的。
一个VPC下,可以创建多个交换机,但交换机网段不能重叠。
交换机和Pod交换机需要在一个可用区内。
Pod交换机
Pod地址从该交换机分配,用于Pod网络通信。Pod是Kubernetes内的概念,每个Pod具有一个IP地址。在VPC里创建交换机时指定的网段,必须是当前VPC网段的子集。配置网段时,请注意:
Terway网络模式下,Pod分配的Pod IP就是从这个交换机网段内获取的。
该网段不能和服务网段重叠。
交换机和Pod交换机需要在一个可用区内。
服务网段
服务网段创建成功后不能修改。
服务(Service)是Kubernetes内的概念,对应的是Service类型为ClusterIP时服务使用的地址,每个服务有自己的地址。配置网段时,请注意:
服务地址只在Kubernetes集群内使用,不能在集群外使用。
服务网段不能和交换机网段重叠。
服务网段不能和Pod交换机网段重叠。
服务IPv6网段
开启IPv6双栈后,您需要为服务配置IPv6网段。配置网段时,请注意:
必须使用ULA地址,地址段范围需在fc00::/7内,且地址前缀长度在112~120之间。
推荐和服务网段保持相同的可用地址数量。
Flannel网段配置示例
专有网络网段 | 交换机网段 | 容器网段 | 服务网段 | 最大可分配Pod地址数 |
192.168.0.0/16 | 192.168.0.0/24 | 172.20.0.0/16 | 172.21.0.0/20 | 65536 |
配置Flannel模式网络时,需要设置的参数及参数网段配置的注意事项如下:
专有网络
建议您使用192.168.0.0/16、172.16.0.0/12、10.0.0.0/8三个RFC标准私网网段及其子网作为VPC的主IPv4网段,网段掩码有效范围为8~28位。填写示例:192.168.0.0/16。
您也可以使用除100.64.0.0/10、224.0.0.0/4、127.0.0.0/8或169.254.0.0/16及其子网外的自定义地址段作为VPC的主IPv4网段。
如果有多VPC场景或VPC与本地数据中心构建混合云场景,建议您使用RFC标准私网网段的子网作为VPC的网段且掩码不超过16位,且多个VPC间、VPC和本地数据中心的网段不能冲突。
IPv6网段在VPC开启IPv6后由VPC分配。如果您需要使用IPv6容器网络,请选择Terway网络插件。
交换机
ECS使用的交换机,用于节点间网络通信。在VPC里创建交换机时指定的网段,必须是当前VPC网段的子集(可以和VPC网段一样,但不能超过)。配置网段时,请注意:
交换机下ECS所分配到的地址,就是从这个交换机网段内获取的。
一个VPC下,可以创建多个交换机,但交换机网段不能重叠。
容器网段
容器网段创建成功后不能修改。
Pod地址从该网段内分配,用于Pod网络通信。Pod是Kubernetes内的概念,每个Pod具有一个IP地址。配置网段时,请注意:
非VPC交换机,为虚拟网段。
该网段不能和交换机网段重叠。
该网段不能和服务网段重叠。
例如,VPC网段用的是172.16.0.0/12,Kubernetes的容器网段就不能使用172.16.0.0/16、172.17.0.0/16等,因为这些地址都包含在172.16.0.0/12里。
服务网段
服务网段创建成功后不能修改。
服务(Service)是Kubernetes内的概念,对应的是Service类型为ClusterIP时服务使用的地址,每个服务有自己的地址。配置网段时,请注意:
服务网段只在Kubernetes集群内使用,不能在集群外使用。
服务网段不能和交换机网段重叠。
服务网段不能和容器网段重叠。
- 本页导读 (1)
- 网络规模规划
- 地域和可用区
- VPC数量
- 交换机数量
- 集群规模
- 网络通信规划
- 单VPC内单集群
- 单VPC内多集群
- 多集群跨VPC互联
- 云上集群与IDC通信
- 容器网络插件规划
- 功能规划
- 网段规划
- 相关文档