日志出现connecting to container runtime failed
2023/06/13
173
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 安装部署 | MindCluster集群调度 | NPU-Exporter、NPU信息、socket文件路径 |
问题现象描述
通过调用NPU-Exporter的Metrics接口(http://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”参数。可参考表2确认socket的位置,修改yaml挂载路径和NPU-Exporter启动参数后,再重启服务。
- NPU-Exporte的启动参数为“-containerMode=containerd”时,操作与“-containerMode=docker”参数一致,同时还需要将yaml中name为“docker-shim”的挂载路径删除。
表2 -containerd”和“-endpoint”参数配置 启动参数
容器模式
修改默认值
-containerd
- 若containerMode=docker,默认配置的socket文件路径为/var/run/docker/containerd/docker-containerd.sock;连接失败后,自动尝试连接:unix:///run/containerd/containerd.sock。
- 若containerMode=containerd,默认配置的socket文件路径为/run/containerd/containerd.sock。
一般情况下该参数保持默认即可,除非用户自行修改了Containerd的sock文件路径,可通过ps aux | grep "containerd.sock"命令查询。
-endpoint
- 若containerMode=docker,将连接到dockershim获取容器列表,默认配置的socket文件路径为/var/run/dockershim.sock;
- 若containerMode=containerd,默认配置的socket文件路径为/run/containerd/containerd.sock。
一般情况下该参数保持默认即可,除非用户自行修改了dockershim或者Containerd的sock文件路径。
本页内容