Runc hang 导致 Kubernetes 节点 NotReady 的原因有哪些?

更新于
2026-10-09 13:50:27
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计3070个文字,预计阅读时间需要13分钟。

Runc hang 导致 Kubernetes 节点 NotReady 的原因有哪些?

Kubernetes 1.19.3 运行在 CentOS 7.9.2009 上,内核为 5.4.94-1.el7.elrepo.x86_64,Docker 版本为 20.10.6。发现 runc v1.0.0-rc93 存在 bug,可能导致 Docker 挂起。线上监控显示集群中存在 2-3 个 K8s 节点处于 NotReady 状态。

Kubernetes 1.19.3

OS: CentOS 7.9.2009

Kernel: 5.4.94-1.el7.elrepo.x86_64

Docker: 20.10.6

先说结论,runc v1.0.0-rc93 有 bug,会导致 docker hang 住。

发现问题

线上告警提示集群中存在 2-3 个 K8s 节点处于 NotReady 的状态,并且 NotReady 状态一直持续。

  • kubectl describe node,有 NotReady 相关事件。

  • 登录问题机器后,查看节点负载情况,一切正常。

  • 查看 kubelet 日志,发现 PLEG 时间过长,导致节点被标记为 NotReady。

  • docker ps 正常。

  • 执行 ps 查看进程,发现存在几个 runc init 的进程。runc 是 containerd 启动容器时调用的 OCI Runtime 程序。初步怀疑是 docker hang 住了。

阅读全文

本文共计3070个文字,预计阅读时间需要13分钟。

Runc hang 导致 Kubernetes 节点 NotReady 的原因有哪些?

Kubernetes 1.19.3 运行在 CentOS 7.9.2009 上,内核为 5.4.94-1.el7.elrepo.x86_64,Docker 版本为 20.10.6。发现 runc v1.0.0-rc93 存在 bug,可能导致 Docker 挂起。线上监控显示集群中存在 2-3 个 K8s 节点处于 NotReady 状态。

Kubernetes 1.19.3

OS: CentOS 7.9.2009

Kernel: 5.4.94-1.el7.elrepo.x86_64

Docker: 20.10.6

先说结论,runc v1.0.0-rc93 有 bug,会导致 docker hang 住。

发现问题

线上告警提示集群中存在 2-3 个 K8s 节点处于 NotReady 的状态,并且 NotReady 状态一直持续。

  • kubectl describe node,有 NotReady 相关事件。

  • 登录问题机器后,查看节点负载情况,一切正常。

  • 查看 kubelet 日志,发现 PLEG 时间过长,导致节点被标记为 NotReady。

  • docker ps 正常。

  • 执行 ps 查看进程,发现存在几个 runc init 的进程。runc 是 containerd 启动容器时调用的 OCI Runtime 程序。初步怀疑是 docker hang 住了。

阅读全文