更新时间:2024-01-04 GMT+08:00

CCE Turbo配置容器网卡动态预热

在云原生网络2.0下,每个Pod都会分配(申请并绑定)一张弹性网卡或辅助弹性网卡(统一称为:容器网卡)。由于容器场景下Pod的极速弹性与慢速的容器网卡创建绑定的差异,严重影响了大规模批创场景下的容器启动速度。因此,云原生2.0网络提供了容器网卡动态预热的能力,在尽可能提高IP的资源利用率的前提下,尽可能加快Pod的启动速度。

约束与限制

  • CCE Turbo的1.23.5-r0、1.25.1-r0及以上版本支持用户配置容器网卡动态预热;支持集群级别的全局配置以及节点池级别的差异化配置,暂不支持非节点池下的节点差异化配置。
  • 请通过console页面或API修改容器网卡动态预热参数配置,请勿直接后台修改节点annotations上对应的容器网卡动态预热参数,集群升级后,后台直接修改的annotations会被覆盖为原始的值。

原理说明

CCE Turbo的容器网卡动态预热提供了4个相关的容器网卡动态预热参数,您可以根据业务规划,合理设置集群的配置管理或节点池的配置管理中的容器网卡动态预热参数(其中节点池的容器网卡动态预热配置优先级高于集群的容器网卡动态预热配置)。

表1 容器网卡动态预热参数

容器网卡动态预热参数

默认值

参数说明

配置建议

节点最少绑定容器网卡数(nic-minimum-target)

10

保障节点最少有多少张容器网卡绑定在节点上。

参数值需为正整数。例如10,表示节点最少有10张容器网卡绑定在节点上。当超过节点的容器网卡配额时,后台取值为节点的容器网卡配额。

建议配置为大部分节点平时日常运行的Pod数。

节点预热容器网卡上限检查值(nic-maximum-target)

0

当节点绑定的容器网卡数超过节点预热容器网卡上限检查值(nic-maximum-target),不再主动预热容器网卡。

当该参数大于等于节点最少绑定容器网卡数(nic-minimum-target)时,则开启预热容器网卡上限值检查;反之,则关闭预热容器网卡上限值检查。

参数值需为正整数。例如0,表示关闭预热容器网卡上限值检查。当超过节点的容器网卡配额时,后台取值为节点的容器网卡配额。

建议配置为大部分节点平时最多运行的Pod数。

节点动态预热容器网卡数(nic-warm-target)

2

当Pod使用完节点最少绑定容器网卡数(nic-minimum-target)后,会始终额外预热多少张容器网卡,只支持数值配置。

当 节点动态预热容器网卡数(nic-warm-target) + 节点当前绑定的容器网卡数 大于 节点预热容器网卡上限检查值(nic-maximum-target) 时,只会预热nic-maximum-target与节点当前绑定的容器网卡数的差值。

建议配置为大部分节点日常10s内会瞬时弹性扩容的Pod数。

节点预热容器网卡回收阈值(nic-max-above-warm-target)

2

只有当 节点上空闲的容器网卡数 - 节点动态预热容器网卡数(nic-warm-target) 大于此阈值 时,才会触发预热容器网卡的解绑回收。只支持数值配置。

  • 调大此值会减慢空闲容器网卡的回收,加快Pod的启动速度,但会降低IP地址的利用率,特别是在IP地址紧张的场景,请谨慎调大
  • 调小此值会加快空闲容器网卡的回收,提高IP地址的利用率,但在瞬时大量Pod激增的场景,部分Pod启动会稍微变慢。

建议配置为大部分节点日常在分钟级时间范围内会频繁弹性扩容缩容的Pod数 - 大部分节点日常10s内会瞬时弹性扩容的Pod数。

配置示例

级别

用户业务场景

配置示例

集群级别

集群中所有节点采用c7.4xlarge.2机型(辅助弹性网卡配额128)

集群下大部分节点平时日常运行20个Pod左右

集群下大部分节点最多运行60个Pod

集群下大部分节点日常10s内会瞬时弹性扩容10个Pod

集群下大部分节点日常在分钟级时间范围内会频繁弹性扩容缩容15个Pod

集群级别的全局配置:

  • nic-minimum-target: 20
  • nic-maximum-target: 60
  • nic-warm-target: 10
  • nic-max-above-warm-target: 5

节点池级别

集群中用户新创建了一个使用大规格机型c7.8xlarge.2的节点池(辅助弹性网卡配额256)

节点池下大部分节点平时日常运行100个Pod左右

节点池下大部分节点最多运行128个Pod

节点池下大部分节点日常在10s内会瞬时弹性扩容10个Pod

节点池下大部分节点日常在分钟级时间范围内会频繁弹性扩容缩容12个Pod

节点池级别的差异化配置:

  • nic-minimum-target: 100
  • nic-maximum-target: 120
  • nic-warm-target: 10
  • nic-max-above-warm-target: 2

使用HostNetwork的Pod不计入Pod数中。

集群级别的全局配置

  1. 登录CCE控制台,在左侧导航栏中选择“集群管理”
  2. 单击集群后的
  3. 在侧边栏滑出的“配置管理”窗口中,选择网络组件配置,参数值请参见配置示例

  4. 配置完后单击“确定”,等待10s左右即可生效。

节点池级别的差异化配置

  1. 登录CCE控制台。
  2. 进入集群,在左侧选择“节点管理”,在右侧选择“节点池”页签。
  3. 单击节点池名称后的“更多 > 配置管理”
  4. 在侧边栏滑出的“配置管理”窗口中,选择网络组件配置,参数值请参见配置示例

  5. 配置完后单击“确定”,等待10s左右即可生效。