k8s 调度不均匀问题解决

前言:

随着大量的项目上k8s之后,我们通过监控发现有些Node cpu 使用率很高,达到80%+,但有些节点cpu使用率却不到40%。cpu使用率高,cpu负载也同样会升高,这会导致这些Node上的应用出现延迟增加,对影响业务稳定有一定影响。资源利用率严重不均衡,因此一定要解决。

我们尝试重新部署应用,驱逐pod,发现并不能有效解决问题,pod还会大概率调度到负载高的Node上。

问题分析

我们知道k8s kube-scheduler调度器会决定将pod 调度到哪个Node,主要由下面两步骤组成:

  1. 过滤,会将所有满足 Pod 调度需求的 Node 选出来
  2. 打分,从所有可调度节点中选取一个分值最高最合适的 Node。

cpu 负载较低的Node cpu,内存,磁盘都很充足,肯定会通过过滤筛选,而且分值会很高,应该会最先调度,但不知道为何却没有。

根据分析我们确定主要问题有以下几点:

1.k8s 调度器默认会根据Pod cpu和内存request 值调度,Pod request 值大优先调度到Node 可用资源(可用资源=Node实际资源-Pod request )较多的节点,并不是根据Node 实时动态cpu负载进行资源调度的。

2.有些项目接入k8s时,cpu 和内存的r

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值