因为某些未知的原因。docker运行一段时间后,突然gpu掉线,输入nvidia-smi。发现报错:Failed to initialize NVML: Unknown Error(如下图)
看了很多解决方法,但是大多数都要重启系统或者服务器或者docker,但是镜像源是公共的,服务器也不好重启。因此重新建立一个pod并且安装上所有需要的包。担心还有下一次这样的问题出现,这里记录一下配置的过程和安装的所有命令。方便下一次重新配置。
k8s中pod与service配置:
在k8s上先创建pod:pod的配置填写好1:镜像源;2:命名空间;3:持久卷;4:pod的节点名称和tag;5:选择挂载的节点。
配置service:点开挂载的节点,可以查看ip。
在service的配置文件中配置好1:port;2:节点ip地址;3:tag名称;4:service的名称。
apiVersion: v1
kind: Service
metadata:
name: service的名字
spec:
type: NodePort
selector:
app: 之前创建的pod的tag
ports:
- protocol: TCP
port: 7860(之前配置pod的远程连接文件时选择的端口)
targetPort: 7860
创建后就可以查看service的端口:
此处下面的31853就是7860端口转发出来的端口,用于远程连接时候配置文件。
vscode远程连接服务器:这个时候就可以在vscode中下载插件:Remote-ssh。
ctrl+shift+p可以打开搜索如果是MAC,就是Command+shift+p,搜索Remote-ssh,点击Add New SSH Host。
然后按照命令:ssh root@pod的ip地址 -p service的端口(就是上面的31853)
点击连接之后输入密码就可以连接上远程服务器并且查看服务器中的文件了。
配置好之后输入nvidia-smi就有驱动了。
安装pytorch和cuda:
此处我挂载节点上是3090的显卡。为了跑通模型,我要安装对应的pytorch和cuda。
在pytorch官网上选择自己的系统,安装命令等下面就有安装的命令。pytorch官网
粘贴到vscode的远程服务器命令端运行就可以进行安装了。
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装的时候会提示。
bash: pip3: command not found
没安装pip3。
sudo apt update
sudo apt install python3 python3-pip