k8s 调整Node节点 Max_Pods

默认情况下,Kubernetes集群中一个Node最多能起110个Pod。

这是基于性能和资源管理的考虑,以确保Kubernetes集群的稳定性和可靠性。

查看kht125节点上支持的最大pod数量:

kubectl describe node kht125 | grep -i "Capacity|Allocatable" -A 6

调整Node节点Max_Pods的方法如下:

  1. 查看节点上kubelet启动时用的配置文件:使用systemctl status kubelet -l命令查看。
  2. 修改配置文件:找到kubelet的配置文件,通常为/var/lib/kubelet/config.yaml。如果文件中存在maxPods参数,则将其修改为所需的值;如果没有此参数,则直接添加,例如maxPods: 120,注意要顶格,前面不要有空格。
  3. 重启修改Pod数量的节点上的kubelet服务:使用systemctl restart kubelet命令重启。在master节点上用kubectl get nodes查看该节点的状态,若为Ready则表示成功;如果是NotReady,可等一会或者查看kubelet日志以确定是否启动成功。也可以使用kubectl describe node查看输出结果里的Pods参数是否已变成修改后的值。

当Pod数量达到节点上限时,可以采取以下具体操作:

  • 增加节点数量:在节点页面查看容器组、CPU、内存的使用情况,确定集群的资源使用率,根据Pod声明的亲和性策略在集群中添加新的节点。例如,使用云服务提供商的相关接口或命令行工具创建新的节点并加入集群。
  • 调整资源分配:检查Pod资源配额设置,对于资源设置不合理的Pod,适当调整其CPU、内存等资源请求和限制,以释放一些节点资源,让新的Pod能够调度到该节点上。
  • 优化Pod分布:检查Pod的分布情况,看是否存在某些节点上Pod分布过于密集,而其他节点资源利用率较低的情况。可以通过调整Pod的调度策略,如使用节点亲和性、反亲和性等,将Pod分散到其他资源充足的节点上。
  • 删除不必要的Pod:如果有一些不重要或暂时不需要的Pod正在运行,可以考虑删除它们,以腾出空间来调度新的Pod。但在删除Pod时,需要确保不会影响到业务的正常运行。

###########################################

Kubernetes集群中一个Node默认最多能起110个Pod,但你看到大于110甚至是254的情况,可能有以下原因:

  • 网络插件影响:不同的网络插件对Node节点上Pod数量的限制有所不同。例如,在Flannel网络模式下,单节点默认支持的最大Pod数为256,扣除flannel、docker0占用的2个IP,实际最多可运行254个Pod。这是因为Flannel配置的本节点Pod网段是/24,提供了256个IP地址,而其中2个被保留。
  • 集群类型差异:某些特定的集群类型或发行版可能会对默认的Pod数量限制进行调整。比如OpenShift集群,在默认配置下,每个Node节点最多可以有254个Pod。这是因为OpenShift SDN按照RFC1918分配/16私有子网空间(默认10.1.0.0/16)作为集群网络,为每个Node节点分配/24大小的IP地址空间给Node节点上的Pods,扣除网关地址和广播地址,每个Node节点最多可容纳254个Pod。
  • 手动配置修改 :通过修改kubelet的配置参数--max-pods,可以调整Node节点上允许运行的最大Pod数量。如果管理员根据实际业务需求和节点资源情况,将--max-pods参数设置为大于110的值,那么该节点就能运行更多的Pod。
相关推荐
wb1898 分钟前
docker-ce容器技术重习
运维·笔记·docker·容器·云计算
刘某的Cloud21 分钟前
svc中外部流量访问限制
linux·运维·docker·kubernetes·service
阿沁QWQ32 分钟前
Docker镜像制作实战
运维·docker·容器
浮尘笔记43 分钟前
Docker中安装Kafka以及基本配置和用法、踩坑记录
后端·docker·容器·kafka·php
键盘鼓手苏苏1 小时前
Kubernetes与边缘AI最佳实践
云原生·kubernetes·k8
成为你的宁宁1 小时前
【docker镜像加速器配置】
运维·docker·容器
风向决定发型丶1 小时前
K8S中Pod驱逐介绍
docker·容器·kubernetes
海鸥811 小时前
Kubernetes 集群中缺少 kagent.dev/v1alpha2
云原生·容器·kubernetes
qq_396153452 小时前
docker ddns-go 忘记密码
docker·容器·golang
Zhu7582 小时前
【数据迁移】k8s平台本地数据迁移整改
云原生·容器·kubernetes