欢迎光临
我们一直在努力

rancher搭建的k8s默认一个node最多创建110个pod,如何调大限制

在AI基础设施部署中,尤其是面对微服务化部署的大量模型服务(如使用KServe或VLLM部署小型专用模型)或高密度计算任务时,Kubernetes集群的节点Pod密度限制往往成为瓶颈。Rancher部署的K8s集群(通常基于RKE或RKE2)默认情况下限制每个Node最多只能运行110个Pod。本指南将详细介绍如何通过修改Kubelet配置来提升这一限制,确保AI工作负载能够充分利用节点资源。

1. 为什么默认限制是110个Pod?

这个限制由Kubelet进程的启动参数–max-pods控制。Kubernetes社区设定110作为一个保守且安全的默认值,主要考虑到IP地址分配、网络性能(特别是CNI插件的效率)以及Kubelet自身的开销。当Pod数量过多时,可能会导致网络延迟增加或系统稳定性下降。

2. 调整限制的风险与准备

在调高–max-pods之前,必须确保你的CNI网络插件(如Flannel, Calico, Canal等)能够支持更多的IP地址分配,并且节点的硬件配置(尤其是内存和CPU核数)足以支撑更高的Kubelet和Pod密度开销。通常建议将限制提高到250或更高,但需根据实际负载进行压力测试。

3. Rancher集群配置修改步骤(RKE/Rancher 2.x)

由于Rancher管理着Kubelet的生命周期和配置,我们不能直接SSH到节点修改静态Pod文件,而必须通过Rancher UI或API来修改集群配置。

步骤 3.1: 登录Rancher UI

登录到你的Rancher Server。

步骤 3.2: 编辑集群配置

导航到目标集群,点击右侧的“三个点”或“编辑集群”按钮,选择“编辑配置”。

步骤 3.3: 注入Kubelet额外参数

在集群编辑页面的底部,找到“集群选项”或“编辑为YAML”视图。如果使用YAML视图,你需要找到rkeConfig下的kubelet配置块,并添加extra_args

使用YAML视图注入配置示例:

rkeConfig:
  # ... 其他RKE配置 ...
  kubelet:
    extra_args:
      # 设置新的最大Pod限制。此处示例设置为250
      max-pods: "250"
  # ...

注意: max-pods的值必须用引号包裹,因为它是一个字符串参数。

如果是修改特定节点角色:

如果你只想修改Worker节点的限制,可以配置节点池或节点模板:

# 适用于RKE集群配置
nodes:
  - address: <Node IP>
    role: [worker]
    # ... 其他配置
    kubelet_extra_args:
      max-pods: "250"

步骤 3.4: 保存并等待集群更新

保存配置。Rancher/RKE将开始更新所有相关节点的Kubelet配置。这个过程通常涉及Kubelet的重启,可能会短暂影响节点上的现有Pod。

4. 验证配置是否生效

集群更新完成后,可以通过以下两种方式验证–max-pods参数是否已成功应用:

验证方法一:检查Kubelet进程参数

SSH进入集群中的一个节点,检查Kubelet的启动命令:

# 检查正在运行的Kubelet进程,查找 max-pods 参数
ps aux | grep kubelet | grep max-pods

你应该能看到类似如下的输出:

/usr/bin/kubelet --kubeconfig=/etc/kubernetes/ssl/kubeconfig-kubelet.yaml --max-pods=250 --cgroups-per-qos=true ...

验证方法二:检查Node Capacity

使用kubectl检查节点的容量信息。Kubernetes会将–max-pods的值反映在Node对象的.status.capacity.pods字段中。

kubectl describe node <node-name> | grep Pods:

如果配置成功,输出应显示新的限制:

Capacity:
  cpu:                8
  ephemeral-storage:  958042456Ki
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             32757512Ki
  pods:               250 
# 注意:这里的Pods值已从110变为250

通过成功调高max-pods限制,你的Rancher K8s集群将能更好地支持高密度的AI模型部署和训练任务,最大化地利用计算资源。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » rancher搭建的k8s默认一个node最多创建110个pod,如何调大限制
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址