日志出现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”的挂载路径删除。
启动参数 |
容器模式 |
默认值 |
修改默认值 |
---|---|---|---|
-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 |
父主题: 常见故障处理