-
Notifications
You must be signed in to change notification settings - Fork 141
gpu机器加入集群
栾鹏 edited this page Sep 9, 2025
·
9 revisions
参考 install/kubernetes/rancher/install_gpu.md
参考
- install/kubernetes/rancher/init_node_gpu.md
如果已经部署了k8s和cube-studio,这里只是将gpu机器加入到k8s集群,这里可以忽略,
如果还没有部署k8s和cube-studio,可以参考《平台单机部署》先部署k8s集群和cube-studio
加入k8s集群后为机器添加标签,标签只是用户管理和选择机型设备。
gpu=true 用于表示 gpu设备
vgpu=true 用于表示 vgpu设备
gpu-type=V100 用于表示gpu型号,或者gpu-type=T4
train=true 用于训练
service=true 用于推理
notebook=true 用于开发
org=public 用于表示属于的public资源组
gpu/nvidia-device-plugin.yml
daemonset kube-system/nvidia-device-plugin.会在机器上部署pod,用于scheduler识别改机器可用gpu算力。
kubectl get node -o yaml
status:
capacity:
cpu: '20'
memory: 81846828Ki
nvidia.com/gpu: '1' # 英伟达gpu的资源占用
如果不存在可占用gpu,那可能是因为机器上非k8s之外存在占用。需要先关停机器上的gpu占用进程,然后重启kubelet。 rancher重启kubelet的方法是 docker restart kubelet
daemonset monitoring/dcgm-exporter.会在机器上部署pod,用于监控gpu上的使用率
直接写占用卡数目,对于异构gpu环境,也可以选择占用的卡型。比如1(T4),2(V100),0.1
机器安装英伟达驱动和对应版本cuda,比如驱动 550,cuda 12.4
在k8s cube 容器中使用cuda版本要低于主机的cuda版本12.4,实际pytorch等代码中需要适配的cuda为镜像中cuda版本,不需要关心主机上的cuda版本
比如:在主机的cuda 12.4,在k8s中使用cuda11.8的gpu镜像,那就需要在镜像环境中安装兼容cuda 11.8的pytorch
欢迎大家传播分享文章