Containerd OCI runtime create failed

庆云1年前技术文章1402

1、背景

Kubernetes 集群新增 worker 节点(centos7、containerd),发现容器一直启动不起来。

01-containerd-alarm.png


2、报错信息

经查看系统 message 日志发现如下报错信息:

rpc error: code = Unknown desc = failed to create containerd task: failed to create shim: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/k8s.io/70c5e55bb669eb5dfea71deb45383d3ecdaa7cffe794cced5bf925881f052353/log.json: no such file or directory): runc did not terminate successfully: exit status 127

01-system-message.png


3、报错解决

判断是 runc 异常,执行 /usr/local/sbin/runc -v 命令发现缺少依赖包 libseccomp:

$ /usr/local/sbin/runc -v
/usr/local/sbin/runc: error while loading shared libraries: libseccomp.so.2: cannot open shared object file: No such file or directory


经下载发现 centos7 中 yum 下载的版本是 2.3 的,未解决我们的报错,版本不满足最新 containerd 的需求,需要下载 2.4 以上的版本。

# 卸载旧版 libseccomp
$ rpm -qa | grep libseccomp
libseccomp-2.3.1-4.el7.x86_64
$ rpm -e libseccomp-devel-2.3.1-4.el7.x86_64 --nodeps
$ rpm -e libseccomp-2.3.1-4.el7.x86_64 --nodeps

# 下载新版 libseccomp
$ wget http://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/libseccomp-2.5.1-1.el8.x86_64.rpm

# 安装软件
$ rpm -ivh libseccomp-2.5.1-1.el8.x86_64.rpm
warning: libseccomp-2.5.1-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
  1:libseccomp-2.5.1-1.el8           ################################# [100%]

# 查看版本
$ rpm -qa | grep libseccomp
libseccomp-2.5.1-1.el8.x86_64


再次执行 /usr/local/sbin/runc -v 命令,未发现报错,此时容器也已经正常。

$ /usr/local/sbin/runc -v
runc version 1.1.2
commit: v1.1.2-0-ga916309f
spec: 1.0.2-dev
go: go1.17.11
libseccomp: 2.5.

01-containerd-alarm-recovery.png


相关文章

flink单task多slot调优

flink单task多slot调优

1. 单taskmanager多slot的设置方法方式一:在配置文件中配置taskmanager.numberOfTaskSlots,通过修改提交任务的客户端配置文件中的配置flink-co...

flink获取taskmanager的pstree信息

flink获取taskmanager的pstree信息

使用pstree –p 进程号 的方式能够获取taskmanager的pstree信息,这个地方提供一个收集脚本。内容如下:#!/bin/bashsearchPID() {   l...

开源大数据集群部署(二十一)Spark on yarn 部署

开源大数据集群部署(二十一)Spark on yarn 部署

3.0.1 spark on yarn安装(每个节点) cd /root/bigdata/ tar -xzvf spark-3.3.1-bin-hadoop3.tgz -C /opt/ ln -s...

根目录扩容

根目录扩容

1、创建一个空分区创建分区:查看创建的新分区:2、开始扩容(1)创建物理卷[root@web03 ~]# lvm lvm> pvcreate /dev/vdb1   Physical vol...

Hbase&Hive区别对比

Hbase和Hive定义区别Hbase,其实是Hadoop database的简称,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等。Hiv...

证书过期问题之IPV6协议

证书过期问题之IPV6协议

1、首先了解情况:客户的SSL/TLS证书要过期了,所以进行了证书替换工作,但是替换之后,有一部分客户端还是提示证书已过期,如图所示:2、看这个报错是非常的清晰的,就是证书过期的问题,但是为什么同事没...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。