注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > 聚石塔

集群网络规划-Terway与Terway-eniip

更新时间:2023/05/04 访问次数:4062

一、写在前面


Terway,阿里云基于Flannel的自研网络插件,可以看作是性能更优的Flannel。

Terway-eniip(即Terway2.0版本,下文简称Terway2),阿里自研的第二代Terway网络插件。


默认推荐的网络插件为Terway,适用于绝大多数使用场景。如果对容器网络性能没有特别的要求,推荐选择Terway网络,而不需要选择Terway-eniip(Terway2 的集群配置以及额外网络配置比较复杂,请谨慎选择)。


想要了解两种网络插件的区别,可以继续往下阅读。


二、Terway网络插件


VPC下 Kubernetes 的网络地址段规划


12.png


1. 原理


1)Pod网段是Overlay的网段;比如vpc是10/8,容器可选192.168/16或172.16/12的子段;

2)每个节点再分配更细的段,例如分配/24的 (节点掩码);

3)依靠VPC路由表打通不同节点之间的网络。


2. 优势


1)无封包,相对用户自建k8s性能提升20%;

2)Pod网段是用户指定的独立于vpc的段,便于管理。


3. 限制


每个节点对应一个vpc路由,节点的最大规模受限于vpc路由表Quota。默认为48。


4. 集群规模


terway网络下,集群的最大节点数受限于Pod CIRD网段以及VPC路由表条目的上限。其中,VPC路由表条目是可以后期申请增加的,Pod CIRD网段一旦设置就无法更改


1)Pod CIDR网段

例如,将网段设置为172.20.0.0/16,该网段可用IP数为65534。

每台ECS最大POD IP数量为128(目前默认为128,以后会开放配置)。

那么,节点最大ECS数量 = 网段可用IP数/ECS最大POD IP数 = 65534/128 = 510。

如果网段的掩码过大,可用IP少,那么可以添加的ECS数量就会少?。

?

2)VPC路由表条目

默认为48,集群新增一台ECS,占用一个路由表条目。可以根据已经使用的条目数量以及需要添加的ECS数量,评估好所需配额,进行申请。

资源视图-专有网络VPC-配额管理-vpc_quota_route_entrys_num。


三、Terway2网络插件


Terway2 是阿里云自研的 Kubernetes 网络插件,它通过将弹性网卡(ENI)分配给 Pod 来构建 Pod 网络。使用 Terway2 插件能够带来更好的 Pod 网络性能。但相对于 Flannel,创建使用 Terway2 的集群配置较为复杂。


13.png


1. 原理


1)使用弹性网卡/辅助IP来作为容器网络的资源;

2)使用vpc/vswitch的网段作为Pod网络的网段;

3)容器网络使用弹性网卡或辅助IP打通。


2. 优势


1)性能相对ECS无损失;

2)支持NetworkPolicy限制Pod间访问规则;

3)支持限制Pod的网络带宽;

4)使用弹性网卡可以无缝的跟云产品/混合云集成。


3. 限制


1)创建集群配置略复杂;

2)节点上能运行的Pod数量受限节点的弹性网卡和弹性网卡辅助IP的配额。


四、Terway与Terway2


不同的网络插件,对应的集群配置不一样,使用限制不一样。

Terway 集群配置与 Flannel 集群相比主要有两点不同:

1)Pod 需要通过弹性网卡(ENI)接入虚拟交换机,来组建 Pod 网络。因此,除了要选择节点虚拟交换机之外,还需要指定供 Pod 通信的虚拟交换机;

2)不同 ECS 规格所能支持挂载的弹性网卡数量不同,而 ECS 挂载弹性网卡的数量以及单个弹性网卡支持的 IP 数量直接决定了节点所能分配的 Pod 数量,因此在选择节点规格时需要注意 Pod 数量限制。


 

Terway

Terway2

ECS规格要求

较低

较高

Pod CIDR

需要设置

不需要设置

Pod虚拟交换机

不需要设置

需要设置

Pod访问公网

同Pod所在ECS

走Pod虚拟交换机,需要NAT网关

Pod访问其他ECS

同Pod所在ECS,即ECS能互通就行

Pod属于集群(自动创建)的安全组,

该安全组需要有其他ECS的授权才能访问其他ECS


① terway2网络下,需要较高的ECS规格,不然能够部署的Pod数很少;

② terway2网络下,能部署的Pod容器数量受限于ECS弹性网卡,ECS规格越高,支持的弹性网卡ip数量越多;

③ terway2网络下,弹性网卡只能挂载在和它同可用区的ECS上,所以Pod需要单独指定vswitch;

④ terway2网络下,Pod访问公网,一定只能走NAT网关+EIP(绑定到虚拟交换机条目上),需要额外对这部分流量进行评估,选择相应的NAT网关规格和EIP带宽;

⑤ terway2网络下,Pod默认不能访问其他ECS,Pod所在安全组(为集群创建时后台自动创建),需要与要访问的ECS安全组互相授权,之后才能互相访问。


五、Terway2注意事项


1. 建议您选择较高规格和较新类型的ECS机型,5代或者6代的8核以上机型

2. 单Node所支持的最大Pod数取决于该Node的弹性网卡(ENI)数。

1)共享ENI支持的最大Pod数 = (ENI数 - 1)x 单ENI的私有IP数;

2)独占ENI支持的最大Pod数 = ENI数 - 1。

3. 集群容器中连接RDS,一定要配置Pod虚拟交换机的网段作为白名单。


ECS实例规格簇-分别支持的弹性网卡数


六、常见问题


1. 为什么无法选择Pod虚拟交换机

1)先选节点虚拟交换机;

2)Pod虚拟交换机必须和节点虚拟交换机在同一个可用区,且不能重复,即所选的可用区下,需要有额外一个交换机用于Pod。列表中没有就表示需要新建交换机;

3)选择的节点虚拟交换机个数要和Pod虚拟交换机个数一致;

4)没有可选的Pod虚拟交换机,可以去VPC控制台创建新的交换机。


举个例子,如果选择A区ECS资源。选择了一个A可用区交换机作为节点虚拟交换机后,就必须选择另外一个A可用区交换机作为Pod虚拟交换机。即,A可用区至少要有两个交换机,一个选作节点交换机,另一个选作Pod交换机。


2. 发布提示insufficient pods

问题原因,ECS节点所支持的弹性网卡不足,建议使用 c或者g系列这种企业级的+ 4C以上

每个规格的ECS所支持弹性网卡数量请参考:ECS实例规格簇-分别支持的弹性网卡数


解决方案:

1)新建网络插件为Flannel的集群(暂时不可用,目前默认都是terway网络,预计下周可上线);

2)购买更新更高规格的ECS加入集群。

FAQ

关于此文档暂时还没有FAQ
返回
顶部