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、生产环境,基于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的更多相关文章
- 使用git克隆仓库到本地报错:SSL certificate problem: unable to get local issuer certificate
第一次使用Git工具克隆仓库,使用的是HTTPS链接,失败了.发现是因为通过HTTPS访问时,如果服务器上的SSL证书未经过第三方机构认证,Git就会报错. 解决方法:通过命令关闭验证 git con ...
- ie11 selenium 报错org.openqa.selenium.NoSuchWindowException: Unable to get browser 处理方法
selenium + ie11运行报错 org.openqa.selenium.NoSuchWindowException: Unable to get browser (WARNING: The s ...
- 关于xpath语句完全正确,但是页面报错: no such element: Unable to locate element: {"method":"xpath","selector":"xpath"}
之前使用selenium-webdriver来写UI的自动化脚本,发现有一个元素一直无法定位,查看其源码,如下 利用xpathChecker验证了xpath语句的是正确的,但是控制台一直报错: no ...
- 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 ...
- 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 ...
- eclipse 启动 tomcat 报错:Server mylocalhost was unable to start within 45 seconds
这个专门转载一篇博文也是为了讽刺一下自己二逼的程序员职业,哈哈. eclipse启动tomcat服务器报错:Server mylocalhost was unable to start within ...
- maven web报错:org.apache.jasper.JasperException: Unable to compile class for JSP
原博文地址:https://blog.csdn.net/ken1583096683/article/details/80837281 maven web项目启动没问题,访问页面就报错:org.apac ...
- 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 然后有时候会很慢报错 ...
- 转载:Win7系统 利用 pycharm导入Tensorflow失败,出现报错——ImportError:DLL load failed with error code -1073741795的解决方式
转载自:https://blog.csdn.net/shen123me/article/details/80621103 下面的报错信息困扰了一天,网上的各种方法也都试过了,还是失败,最后自己瞎试,把 ...
- maven项目(引入依赖失败, pom.xml 报错\爆红)
引入项目过程中,idea引入磁盘的某个的maven项目 这里以springboot项目以例子,发现pom.xml 的依赖大面积爆红,springboot的版本依赖也报错了,然后发现下面有进度条在下载, ...
随机推荐
- linux安装lspci
点击查看代码 `lspci` 是一个用于在Linux系统中显示所有PCI总线以及已连接设备信息的命令.这个工具通常包含在 `pciutils` 包里.如果你需要在你的Linux系统上安装 `lspci ...
- SVG path 标签根据两点和角度绘制弧线
同步发布:https://blog.jijian.link/2020-04-14/svg-arc/ 由于功能受限,此处不能放 iframe 嵌入链接,如需看到实时效果,请移步 https://blog ...
- Vim编辑windows格式文件出现的[noeol][dos]的含义、解决方法及方法解释
文章目录 前言 [dos] [noeol] 前言 最近想要将保存再windows的文件传到linux上,传进去保存文件之后,用vim打开发现在文件的底下出现了[dos] [noeol]这两个标志.然后 ...
- go strings包
//是否包含指定的字符串中任意一个字符 有一个出现过 就返回true fmt.Println(strings.ContainsAny(s1,"glass")) //返回指定字符出现 ...
- laravel proc_get_status() has been disabled for security reasons
解决办法: 在php.ini中,找到disable_functions选项,看看后面是否有proc_open函数被禁用了,去掉proc_get_status,proc_open即可
- 通过局域网访问连接 vite 或 Django 之类的项目
博客地址:https://www.cnblogs.com/zylyehuo/ step1 将 vite 或 Django 类的项目启动 ip 设置为 0.0.0.0:端口 step2 查询本机电脑在当 ...
- RealSense .bag文件彩色图,深度图提取
RealSense .bag文件彩色图,深度图提取 代码 import roslib import rosbag import rospy import cv2 import os from sens ...
- ANSYS 启动窗口过大问题解决
方法总结(省流版):选择兼容性下更改高 DPI 设置 => 勾选高DPI 缩放代替 ,且其下对应应用程序选项 1.环境 系统环境:Windows 11 设备情况:分辨率 1920×1080:缩放 ...
- 使用 PHP cURL 实现 HTTP 请求类
类结构 创建一个 HttpRequest 类,其中包括初始化 cURL 的方法.不同类型的 HTTP 请求方法,以及一些用于处理响应头和解析响应内容的辅助方法. 初始化 cURL 首先,创建一个私有方 ...
- udl(Universal Data Link)通用数据连接文件
新建文本文档 更改后缀名为.udl(注意小点) 然后打开运行 配置并测试 改回后缀名.txt(有个小点哦) 打开就是了