文档首页/ 云容器引擎 CCE/ API参考/ 附录/ 节点可创建的最大Pod数量说明
更新时间:2024-07-26 GMT+08:00

节点可创建的最大Pod数量说明

节点最大Pod数量计算方式

根据集群类型不同,节点可创建的最大Pod数量计算方式如下:

网络模型

节点可创建的最大Pod数量计算方式

建议

“容器隧道网络”集群

仅取决于节点最大实例数

-

“VPC网络”集群

取决于节点最大实例数节点可分配容器IP数中的最小值

建议节点最大实例数不要超过节点可分配容器IP数,否则当节点容器IP数不足时,新建Pod将无法在该节点上正常运行。

“云原生2.0网络”集群(CCE Turbo集群)

取决于节点最大实例数CCE Turbo集群节点网卡数量中的最小值

建议节点最大实例数不要超过节点网卡数,否则当节点可分配网卡不足时,新建Pod将无法在该节点上正常运行。

节点可分配容器IP数说明

在创建CCE集群时,如果网络模型选择“VPC网络”,根据VPC网络模型的容器IP地址分配规则(详见容器IP地址管理),您需要选择每个节点可供分配的容器IP数量(即alpha.cce/fixPoolMask参数)。

该参数会影响节点上可以创建最大Pod的数量,因为使用容器网络时每个Pod会占用一个IP,如果节点预分配的容器IP数量不够的话,就无法创建Pod。当Pod直接使用主机网络(即YAML中配置hostNetwork: true)时,不占用可分配容器IP,详情请参见容器网络与主机网络的Pod IP分配差异

图1 VPC网络模型节点可分配容器IP数配置

节点默认会占用掉3个容器IP地址(网络地址、网关地址、广播地址),因此节点上 可分配给容器使用的IP数量 = 您选择的容器IP数量 - 3,例如上面图中可分配给容器使用的IP数量为 128-3=125。

节点最大实例数说明

在创建节点时,可以配置节点可以创建的最大实例数(maxPods)。该参数是kubelet的配置参数,决定kubelet最多可创建多少个Pod。

对于默认节点池(DefaultPool)中的节点,节点创建完成后,最大实例数不支持修改。

对于自定义节点池中的节点,创建完成后可通过修改节点池配置中的max-pods参数,修改节点最大实例数。详情请参见节点池配置管理

默认场景下,节点最大实例数最多可调整至256。如果您期望提升节点上的部署密度,您可以提交工单申请调整节点最大实例数,最大支持修改至512个实例。

图2 创建节点时的最大实例数配置

根据节点规格不同,节点默认最大实例数如表1所示。

表1 节点默认最大实例数

内存

节点默认最大实例数

4G

20

8G

40

16G

60

32G

80

64G及以上

110

节点网卡数量说明(仅CCE Turbo集群)

CCE Turbo集群ECS节点使用弹性辅助网卡,裸金属节点使用弹性网卡,节点可以创建最大Pod数量与节点可使用网卡数量相关。

图3 节点网卡数

容器网络与主机网络的Pod IP分配差异

创建Pod时,可以选择Pod使用容器网络或是宿主机网络。

  • 容器网络:默认使用容器网络,Pod的网络由集群网络插件负责分配,每个Pod分配一个IP地址,会占用容器网络的IP
  • 主机网络:Pod直接使用宿主机的网络,即在Pod中配置hostNetwork: true参数,详情请参见在Pod中配置主机网络(hostNetwork)。配置完成后的Pod会占用宿主机的端口,Pod的IP就是宿主机的IP,不会占用容器网络的IP。使用时需要考虑是否与宿主机上的端口冲突,因此一般情况下除非某个特定应用必须使用宿主机上的特定端口,否则不建议使用主机网络。