k8s配置+安装pytorch和cuda+安装各个包

因为某些未知的原因。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
### 如何在 Kubernetes 中模拟安装 GPU #### 使用虚拟化技术实现 GPU 资源仿真 为了测试开发目的,在实际硬件不可用的情况下,可以采用基于 QEMU/KVM 的全系统仿真来创建带有 GPU 设备的虚拟机实例。这允许开发者在一个受控环境中验证应用程序的行为而无需物理设备。 另一种方法是在不拥有真实 GPU 硬件的前提下利用软件定义的方式模拟 GPU 行为。NVIDIA 提供了一个名为 `nvidia-container-runtime` 的工具集,它支持 Docker 其他 OCI 兼容运行时,并且可以通过配置文件指定是否启用仿真的 GPU 功能[^1]。 #### 配置 K8S 以识别并管理 GPU 资源 当集群中有节点配备了 NVIDIA GPUs 后,则可通过部署特定组件使这些资源被有效管理调度: - **Device Plugin**: 此插件负责向 API Server 注册可用的 GPU 数量以及其属性; - **Runtime Class**: 定义了一组参数用于指示容器引擎如何处理含有 GPU 请求的工作负载; - **Scheduler Extender 或 Custom Resource Definitions (CRDs)**: 扩展默认调度逻辑以便考虑 GPU 分配策略。 完成上述设置之后,用户就可以提交含 `.spec.containers[].resources.limits/nvidia.com/gpu` 字段的任务描述给 Master Node 来申请所需数量的图形处理器单元了。 #### 测试环境搭建建议 对于希望快速建立一个具备 GPU 支持能力但又不想投入过多成本的人来说,云服务商提供的按需付费型 GPU 实例或许是个不错的选择。它们通常已经预装好了必要的驱动程序并且预先配置好了一些流行框架如 TensorFlow, PyTorch 等所需的依赖项,从而大大简化了前期准备工作流程。 ```yaml apiVersion: v1 kind: Pod metadata: name: cuda-vector-add spec: containers: - name: vector-add image: "k8s.gcr.io/cuda-vector-add:v0.1" resources: limits: nvidia.com/gpu: 1 # requesting 1 GPU ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值