昇腾社区首页
中文
注册

日志出现connecting to container runtime failed

问题描述

通过NPU-Exporter的Metrics接口(http(s)://ip:port/metrics),没有获取到NPU容器的相关信息。查看组件的日志,日志中有如下内容。

failed to init devices parser: connecting to container runtime failed: context deadline exceeded

原因

NPU-Exporter启动参数“-containerd”参数和“-endpoint”参数默认配置的socket文件路径不正确,不同操作系统可能在不同位置。

解决方法

  • NPU-Exporte参数“-containerMode=docker”的默认值表示K8s使用Docker作为容器运行时,需要根据Docker作为容器运行时来配置“-containerd”和“-endpoint”参数。可参考表1查找对应socket的位置,修改yaml挂载路径和NPU-Exporter启动参数后,再重启服务。
  • 当启动参数配置“-containerMode=containerd”时类似,但是需要将yaml中name为“docker-shim”的挂载路径删除。
表1 -containerd”和“-endpoint”参数配置

启动参数

容器模式

默认值

修改默认值

-containerd

containerMode=docker(默认)

/var/run/docker/containerd/docker-containerd.sock

(连接失败尝试/run/containerd/containerd.sock)

一般情况下该参数保持默认即可,除非用户自行修改了containerd的sock文件路径,可通过如下命令查询。

ps aux | grep "containerd.sock"

containerMode=containerd

/run/containerd/containerd.sock

-endpoint

containerMode=docker(默认)

/var/run/dockershim.sock

一般情况下该参数保持默认即可,除非用户自行修改了dockershim或者containerd的sock文件路径。

containerMode=containerd

/run/containerd/containerd.sock