OCI runtime create failed
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OCI runtime create failed相关的知识,希望对你有一定的参考价值。
参考技术A 完整的报错如下:报错问题很明显,大概就是 permission denied,但是守护服务是使用 root 启用的,所以肯定不是 avc 的问题,看来问题大概是出现在 SELinux 上,但是遗憾的是 cat /var/log/audit/audit.log | audit2why 输出为空,也就是说 SELinux 并没有拦截 Docker 的记录。
在 解决一个在实际工作部署 的一个问题 “OCI runtime create failed“ 中作者同样出现这个问题,是使用关闭 SELinux 实现的,现在我试一下:
成功!这里就很奇怪,明明 SELinux 没有拦截记录,结果问题却出现在 SELinux 上。
这里有些尴尬,我为了以防万一,关机前看了一下 auditd.service ,发现它并没有 enable。。。但是竟然还有 audit 的日志,就非常奇怪。我说怎么这几天没看到警报
把 SELinux 改到抱怨模式, enable auditd.service ,然后重启。一开机就弹出来一个警告:
问题已经很明显了,应该是 docker 更新后确实了 SELinux 的组件,自己重新做一个就行了:
然后重启一遍看看效果
。。。
已经没有警告了,非常 nice。现在让我重新把 SELinux 打开。。。
2021-07-22
刚刚碰到一个很奇怪的问题:
在执行 docker run -it -v pwd :/workspace ubuntu /bin/sh 的时候,系统通知弹 systemd[1]: Freezing execution 当时没有在意,结果发现后面 docker 的操作直接卡死,然后发现 systemctl 操作也卡死。网上一搜,找到两个结果:
大意就是出现这个问题是 systemd 出问题了,但是它自己又不能重启自己,所以就报个错,让你自己重启系统。但是这可能有涉及到 SELinux 的锅了,众所周知,SELinux 出问题是一定不能乱重启的。先看看审计日志再说:
看来是 systemd-coredump 上下文出问题了。。。
看一下 coredump:
systemd coredump 了。重新安装一下: dnf reinstall systemd 这里失误了, dnf 这东西好像依赖于服务,结果全局的服务都挂了,这个跑不了,跑事务又不敢关闭,只能等他自己发现超时了再说吧。。。
这真是。。。
这个问题应该不用管,先把 SELinux 挂到抱怨模式重启一下看看
Kubernetes Kubelete 报错 ctr: failed to create shim task: OCI runtime create failed
最近在工作中加入Kubernetes新的服务器节点的之后,发现 Kubelet 报错如下:
ctr: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/default/redis/log.json: no such file or directory): runc did not terminate successfully: exit status 127: runc: symbol lookup error: runc: undefined symbol: seccomp_notify_respond
: unknown
这个是说缺少依赖包 libseccomp ,需要注意的是centos 7中yum下载的版本是2.3的,版本不满足我们最新containerd的需求,需要下载2.4以上的,所以我们先下载2.5.1版本的 libseccomp:
卸载旧版本:
# 查看系统中已安装的版本(这里的旧版本显示是libseccomp-2.3.1-4.el7.x86_64)
$ sudo rpm -qa | grep libseccomp
# 卸载旧版本
$ rpm -e libseccomp-2.3.1-4.el7.x86_64 --nodeps
安装新版本的:
$ rpm -ivh libseccomp-2.5.1-1.el8.x86_64.rpm
查看现有版本:
$ rpm -qa | grep libseccomp
重新调度Pod容器到这个节点上,发现容器可以正常运行。
到此 kubelete 报错 ctr: failed to create shim task: OCI runtime create failed 问题解决。
以上是关于OCI runtime create failed的主要内容,如果未能解决你的问题,请参考以下文章
docker: Error response from daemon: OCI runtime create failed 解决办法
docker OCI runtime create failed: /var/lib/dokveroverlay2/xxxxxxx/merged is not an absolute path or
ERROR: for pigfarm-app Cannot start service pigfarm: OCI runtime create failed: container_linux.go:
ERROR: for pigfarm-app Cannot start service pigfarm: OCI runtime create failed: container_linux.go:
Docker 问题集锦(24) - 解决:OCI runtime exec failed: exec failed: container_linux.go:367
解决OCI runtime exec failed......executable file not found in $PATH": unknown