问题描述:

1、生产环境,基于K8s部署的应用,某个应用按要求需要运行9个副本,项目成功运行50余天后,应用的pod突然由9个变为6个,其他3个变为Pengding状态;

2、9个Pod需要消耗服务器的GPU资源,通过NodeSelector对pod和Node打选择标签,共3个GPU Node,正常工作时每个Node运行3个Pod,出现问题后每个Node只能运行两个Pod。

3、集群使用英伟达官方的GPU devcie-plug查看管理GPU资源,GPU devcie-plug以daemonset的方式运行在各个Node上。

排查过程:

1、使用"kubectl describe pod $PodName -n $namespaces"查看pod描述。

发现调度失败的原因是:“0/9 nodes are available: 6 Insufficient nvidia.com/gpu, 6 node(s) didn't match node selector”,显然是GPU数量不足;

2、检查Pod的部署yaml文件,podyaml的nodeSelector“node-engine-stream=True”“node-gpu-t4=True”和node上的标签一致,标签选择器正常;

3、查看Node上GPU资源的使用情况,3个GPU节点的T4卡数量都是4个,但是已经使用用的GPU卡数分别是2、3、3个,且已使用的T4卡负载率都比较低,由此可见并不是Node GPU数量不足所致;

4、查看看schedule的日志,发现大量的日志“Unable to find backoff value for pod default/engine-video-process-worker-face-face-24902-t4-6b5bcf6d9c-swdwp in backoffQ”,说明Schdule调度异常;

5、逐个节点上重启静态Pod schdule、api-server、control-manager后,再次重启业务Pod,仍然只有6个处于pengding状态;

6、查看K8s Schdule源码,发现"Unable to find backoff value for pod default/engine-video-process-worker-face-face-24902-t4-6b5bcf6d9c-swdwp in backoffQ”并不是问题的根本原因。

结论:GPU Node的资源、标签选择器都是正常的,api-server、schdule、control-manager均工作正常,但是pod无法成功调度,可能是GPU 插件未能成功将Node的GPU资源反映到K8s中去。

解决办法:

重新启动nvidia-device-plugin pod,再重启业务Pod的deployemnt,问题解决。

K8S对Pod调度失败,Schdule控制器报错1 scheduling_queue.go:346] Unable to find backoff value for pod default/engine-video-process-worker-face-face-24902-t4-6b5bcf6d9c-swdwp in backoffQ的更多相关文章

  1. 使用git克隆仓库到本地报错:SSL certificate problem: unable to get local issuer certificate

    第一次使用Git工具克隆仓库,使用的是HTTPS链接,失败了.发现是因为通过HTTPS访问时,如果服务器上的SSL证书未经过第三方机构认证,Git就会报错. 解决方法:通过命令关闭验证 git con ...

  2. ie11 selenium 报错org.openqa.selenium.NoSuchWindowException: Unable to get browser 处理方法

    selenium + ie11运行报错 org.openqa.selenium.NoSuchWindowException: Unable to get browser (WARNING: The s ...

  3. 关于xpath语句完全正确,但是页面报错: no such element: Unable to locate element: {"method":"xpath","selector":"xpath"}

    之前使用selenium-webdriver来写UI的自动化脚本,发现有一个元素一直无法定位,查看其源码,如下 利用xpathChecker验证了xpath语句的是正确的,但是控制台一直报错: no ...

  4. pip运行报错Fatal error in launcher: Unable to create process using pip.exe

    使用pip的时候报错Fatal error in launcher: Unable to create process using pip.exe 解决办法,升级pip python -m pip i ...

  5. pip3命令报错Fatal error in launcher: Unable to create process using '"d:\old_files\py3.6\python.exe" "E:\py3.6\Scripts\pip3.exe" list'

    cmd输入pip3 list命令报错 Fatal error in launcher: Unable to create process using '"d:\old_files\py3.6 ...

  6. eclipse 启动 tomcat 报错:Server mylocalhost was unable to start within 45 seconds

    这个专门转载一篇博文也是为了讽刺一下自己二逼的程序员职业,哈哈. eclipse启动tomcat服务器报错:Server mylocalhost was unable to start within ...

  7. maven web报错:org.apache.jasper.JasperException: Unable to compile class for JSP

    原博文地址:https://blog.csdn.net/ken1583096683/article/details/80837281 maven web项目启动没问题,访问页面就报错:org.apac ...

  8. pod lib create ObjcName 时候报错error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

    众所周知 pod lib create ObjcName 需要从git 上边克隆模版 :https://github.com/CocoaPods/pod-template.git 然后有时候会很慢报错 ...

  9. 转载:Win7系统 利用 pycharm导入Tensorflow失败,出现报错——ImportError:DLL load failed with error code -1073741795的解决方式

    转载自:https://blog.csdn.net/shen123me/article/details/80621103 下面的报错信息困扰了一天,网上的各种方法也都试过了,还是失败,最后自己瞎试,把 ...

  10. maven项目(引入依赖失败, pom.xml 报错\爆红)

    引入项目过程中,idea引入磁盘的某个的maven项目 这里以springboot项目以例子,发现pom.xml 的依赖大面积爆红,springboot的版本依赖也报错了,然后发现下面有进度条在下载, ...

随机推荐

  1. implicit和explicit求解器的一点比较

    implicit procedure和explicit procedure的比较 abaqus有两个求解器:standard和 explicit求解器.两个求解器在很多方面都有所差异:单元类型/材料行 ...

  2. nuxt.js 使用 Typescript 在 VSCode 报错: File 'xxx/components/Logo.vue' is not a module. Vetur(2306)

    nuxt.js 生成的默认文件 components/Logo.vue 源码大概如下: 1 <template> 2 <svg 3 class="NuxtLogo" ...

  3. 浅说树形dp

    @ 目录 前言 树形dp的转移方式 树形dp的使用的场景 小结 初步感知--简单的树形dp 例题1 例题2 深入分析--树形dp的经典模型 最大独立集 最小点覆盖 最小支配集 树上直径 前言 因为树的 ...

  4. Django实战项目-学习任务系统-任务完成率统计

    接着上期代码内容,继续完善优化系统功能. 本次增加任务完成率统计功能,为更好的了解哪些任务完成率高,哪些任务完成率低. 该功能完成后,学习任务系统1.0版本就基本完成了. 1,编辑urls配置文件:. ...

  5. VLAN聚合技术:Super-vlan

    Super-VLAN,也称为VLAN聚合(VLAN Aggregation),是一种网络配置技术,主要用于优化IP地址资源的利用和隔离广播域. 一.定义与功能 Super-VLAN是通过将多个VLAN ...

  6. 告别手动敲代码!VSCODE 风格在线可视化开发平台,效率飙升!

    2025 年 2 月 21 日消息,对于广大开发者而言,今天迎来一则重大利好消息!一款操作布局与 VSCODE 极为相似的可视化开发神器 --Joker 智能可视化开发平台正式上线.无论你是深耕前端领 ...

  7. 如何通过物理备份将线下SQL Server迁移到阿里云RDS for SQL Server

    简介   物理备份迁移是将SQL Server数据库迁移至阿里云RDS的推荐方法.此方案能够确保数据完整性,同时显著降低迁移过程中的风险及停机时间.相较于逻辑导出导入或第三方工具等其他迁移方式,物理备 ...

  8. MySQL-SQL调优-引擎选错索引或者不使用索引分析 和 字符串加索引的方式思考

    优化器生成最优执行计划需要考虑的因素 MySQL有一个优化器,专门负责生成最优的查询计划,生成最优查询计划可能考虑的因素有: 扫描行数 是否排序 是否需要回表 是否需要临时表 等等 在不同的因素作用下 ...

  9. study python3【3】前人高度总结出来的不仅仅Pathon的语言习方法

    这是前人写的学习python的经验体会.不单单python,all语言都是如此. 转自https://www.cnblogs.com/nokiaguy/p/9557996.html 感谢分享 下面正文 ...

  10. Win10锁屏与关机相关设置-注册表

    禁用锁屏 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData ...