调整可使用的节点Pod数量

单Worker节点支持的最大Pod数受网络插件类型影响,在大部分场景下不支持变更。在Terway模式下,单节点支持的最大Pod数依赖于ECS实例所提供的弹性网卡数量;在Flannel模式下,单节点最大Pod数在创建集群时指定。指定后不支持修改。Pod数量达到上限时,推荐您通过扩容节点池增加节点,提升可使用的Pod数量。

节点最大Pod数说明

Terway

image

节点最大容器网络Pod数

说明

更多信息,请参见使用Terway网络插件

Terway模式

单节点Pod限额

示例值

单节点支持固定IP、独立虚拟交换机、独立安全组功能的Pod数量

共享ENI模式

ECS规格支持的ENI数量-1)×单个ENI支持的私有IP数。

(EniQuantity-1)×EniPrivateIpAddressQuantity

说明

单节点的Pod限额必须>11才能加入集群。

以通用型实例规格族g7的ecs.g7.4xlarge规格为例。该规格实例支持8个ENI,单个ENI支持30个私有IP。单节点Pod限额为(8-1)×30=210个Pod。

重要

使用节点ENI的Pod限额是由节点规格决定的固定值。修改maxPods只影响使用hostNetwork的Pod限额。

0

共享ENI模式+Trunk ENI

ECS规格支持的总网卡数-ECS规格支持的弹性网卡数。

EniTotalQuantity-EniQuantity

独占ENI模式

ECS规格支持的ENI数量-1。

EniQuantity-1

说明

单节点的Pod限额必须>6才能加入集群。

以通用型实例规格族g7的ecs.g7.4xlarge规格为例。该规格实例支持8个ENI。单节点Pod限额为(8-1)=7个Pod。

ECS规格支持的ENI数量-1。

EniQuantity-1

主机网络Pod数

主机网络Pod数默认为3,不支持修改。修改后可能会导致新的Pod无法分配IP,且在节点重启后,单节点支持的最大Pod数会被重新置为默认值。

Flannel

Flannel模式的节点最大Pod数量(节点 Pod 数量)在创建集群时指定,集群创建后不支持修改。

image

提升可使用的Pod数量的方案

您可以参见下文,根据您的网络插件选择合适的Pod数量提升方案。以下方案提高的是您可使用的Pod数,并不是提高了单节点支持的最大Pod数。

通过扩容节点池增加节点(推荐)

适用范围:Terway和Flannel。

操作说明:手动或自动扩容节点池以增加可用的Pod数。具体操作,请参见扩缩容节点池节点伸缩

操作影响:业务不受影响。但是集群规模过大可能对集群的可用性及性能产生影响,请合理设计和使用规模化集群。更多信息,请参见大规模集群使用建议

提升实例规格来扩容单节点Pod数

适用范围:Terway

操作说明:通过升级Worker节点的实例规格来扩容单节点Pod数。具体操作,请参见升配Worker节点的资源。但节点支持的最大Pod数与节点规格并不是直接的线性关系。单节点支持的最大Pod数依赖于ECS实例规格族所提供的弹性网卡数量。

操作影响:实例规格升配后,需要重启ECS实例以使配置生效,可能会导致业务的短暂中断。升级实例规格前,请根据实际负载情况,判断是否需要扩容冗余节点用于承接业务Pod,并将需要升配的节点排水并从ACK集群中移除。在业务低峰期完成升配后,再将该节点添加到集群中。关于升级实例规格的更多介绍(例如涉及的计费)和具体操作,请参见升降配方式概述升配Worker节点的资源;关于移除和添加已有节点的相关注意事项及具体操作步骤,请参见移除节点添加已有节点

重建集群并重新规划Pod网段

适用范围:Flannel

操作说明:创建集群,设置节点 Pod 数量的值。节点 Pod 数量的值即为单节点支持的最大Pod数。更多信息,请参见使用Flannel网络插件

操作影响:业务重建。

常见问题

Terway模式下,如何查看节点的最大容器网络Pod数?

  • 方式一:创建节点池时,在实例规格区域,通过Terway兼容性(可支持 Pod 数量)查看某一实例规格支持的最大容器网络Pod数。

  • 方式二:先参考下列方式获取计算数据,然后手动计算机型支持的Pod数。

    • 通过文档查询实例规格支持的弹性网卡数量。具体信息,请参见实例规格族

    • 通过OpenAPI进行查询,通过指定已有节点的实例规格InstanceTypes,单击发起调用,返回值中EniQuantity表示实例规格支持的弹性网卡上限,EniPrivateIpAddressQuantity表示单个弹性网卡支持的私有IP数量。

如何查看现有节点支持的最大Pod数?

对于已创建完成的节点,您可以通过以下方式查看:

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 节点页面,查看容器组的总额度,即节点支持的最大Pod数。97.png

为什么我刚创建了一个集群,节点的Pod数量就快达到上限了?

集群组件会以Pod的形式存在,占用您的节点资源。部分组件可能会采用多副本形式。如果您创建集群配置组件时启用的功能较多,可能会占用节点较多的Pod数量。建议您参见提升可使用的Pod数量的方案提升可用的Pod数量。

Terway模式下,可否手动修改弹性网卡数量或Pod总额度以提升单节点Pod上限?

不能。Terway模式的节点允许创建的Pod数量依赖ECS实例规格所提供的弹性网卡数量。即使您手动修改了Pod数量上限,实际使用时,新创建的、超出上限的Pod仍然会因为IP不足而调度失败,会导致集群巡检、集群升级前置检查上报相关错误。

如果您已经手动修改了节点最大Pod数量,推荐您移除节点然后将该节点重新添加到集群中。相关注意事项及具体操作步骤,请参见移除节点添加已有节点

为什么相同CPU和内存规格的节点,可创建的Pod数却不一样?

节点支持的最大Pod数跟CPU和内存并不是直接的线性关系。Terway网络下,单节点支持的最大Pod数依赖于ECS实例规格族所提供的弹性网卡数量。Flannel网络下,单节点默认支持的最大Pod数为256,个别集群类型支持升配。