文档

优化Terway网络插件下Pod网络分配速度

更新时间:

Terway是阿里云开源的基于专有网络VPC的容器网络接口CNI(Container Network Interface)插件。Terway网络模式下,ECS上的弹性网卡由Terway进行管理,并将IP分配给不同的Pod。受限于ECS网卡能力,直接创建弹性网卡不能满足容器秒级启动的需求。Terway对弹性网卡资源管理进行了优化,以便满足快速弹性、IP资源回收等多种需求。通常您无需对配置进行调整,若您对Pod网了分配速度有更多要求,您可以参考本文进行相应资源水位调整。

Terway弹性网卡资源模型

为了帮助您更好地使用本功能,推荐您了解Terway管理的弹性网卡资源模型。下图展示了一个节点上的弹性网卡以及Terway网卡的管理情况。

image
  • 弹性网卡(ENI):弹性网卡是ECS提供的一种资源,一个弹性网卡具备多个IP地址。Terway网络模式下,ECS上的弹性网卡由Terway进行管理,并将IP分配给不同的Pod。ECS上的弹性网卡有多种类型,包括主网卡(Primary)和辅助弹性网卡(Secondary)。Terway不会管理节点的主网卡。Terway会依据Pod数量动态调整节点上ECS弹性网卡数量、弹性网卡的IP数量,请参考下面的IP资源池部分。

  • IP资源池:IP资源池是Terway内的IP管理模型,当弹性网卡从ECS分配后,就会将网卡上的IP存入IP资源池内。

    • Pod创建时,会优先从地址池分配IP。此过程无需与OpenAPI交互,大大提高了容器创建的效率。

    • Pod删除时,会优先将IP放回地址池,以便下一次分配时快速使用。当空闲IP超过配置阈值时,才会调用OpenAPI归还IP地址。

默认配置

默认配置下不开启IP预热,开启缓存5个空闲IP。这种配置适配大部分场景,即兼顾IP密度,又满足弹性时快速分配的需求。

优化建议

Terway配置中提供了资源水位调整能力,您可以根据自身业务需要,结合本文建议进行调整。具体操作,请参见Terway配置参数

参数

类型

说明

max_pool_size

int

IP资源池,最大保留空闲IP数量。默认为5

min_pool_size

int

IP资源池,最少保留空闲IP数量。默认为0min_pool_size不可以大于max_pool_size

重要

减少max_pool_size,增加min_pool_size会使得Terway更加积极地调整资源水位,直到资源水位满足您的配置。此配置可导致OpenAPI调用次数增加并可能触发流控,请根据您账号的限流配额,谨慎调整。

关于您的OpenAPI配额信息,请参考流量控制与配额管理。关于Terway使用的OpenAPI接口信息,请参考容器服务ACK服务角色AliyunCSManagedNetworkRole

减少IP浪费

若您的集群网段规格较小,当集群规模超过2000节点时,默认配置下空闲IP至多可以达到10000个。

这种情况下,您可以减小max_pool_size,来减少空闲IP数量。

提升网络分配速度

  • 对已有的节点,您可以增加max_pool_size大小,将更多空闲IP保留在节点,以便提升Pod IP再次分配的速度。此操作不会主动缓存IP到节点。

  • 对已有的节点,您还可以增加min_pool_size大小,主动预热IP到节点缓存。

  • 若您的Pod对弹性时间非常苛刻,您可以将Pod发布为HostNetwork类型,此操作将绕过CNI网络分配。