当前位置: 首页 > news >正文

k8s中Nvidia节点驱动的配置问题

首先确认下需要安装nvidia驱动的节点

查看VGA型号

lspci -vnn| grep VGA

返回结果的十六进制码到网站查询
型号查询地址

https://admin.pci-ids.ucw.cz/mods/PC/10de

卸载原有驱动

apt remove --purge nvidia-*

禁用nouveau并安装官网下载来的nvidia二进制驱动

NVIDIA_DRIVER_VERSION=
cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist lbm-nouveau" >> /etc/modprobe.d/blacklist.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist.conf
echo "alias nouveau off" >> /etc/modprobe.d/blacklist.conf
echo "alias lbm-nouveau off" >> /etc/modprobe.d/blacklist.confecho options nouveau modeset=0 | tee -a /etc/modprobe.d/nouveau-kms.conf
update-initramfs -uservice lightdm stop
init 3
chmod 755 NVIDIA-Linux-x86_64-${NVIDIA_DRIVER_VERSION}.run
./NVIDIA-Linux-x86_64-${NVIDIA_DRIVER_VERSION}.run --no-x-check --no-nouveau-check
reboot

容器nvidia工具包安装

apt install -y nvidia-container-toolkit

如果运行时是docker

nvidia-ctk runtime configure --runtime=docker
systemctl restart docker
docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu20.04 nvidia-smi

如果运行时是containerd

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
# /etc/containerd/config.toml
# [plugins."io.containerd.grpc.v1.cri"]
#  [plugins."io.containerd.grpc.v1.cri".containerd]
#    default_runtime_name = "nvidia-container-runtime"#  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
#    runtime_type = "io.containerd.runc.v2"#  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia-container-runtime]
#    runtime_type = "io.containerd.runtime.v1.linux"
#    runtime_engine = "/usr/bin/nvidia-container-runtime"nvidia-ctk runtime configure --runtime=containerd
systemctl restart containerd

如果是k3s

nvidia-ctk runtime configure --runtime=containerd --set-as-default --config /var/lib/rancher/k3s/agent/etc/containerd/config.toml
sudo cp /var/lib/rancher/k3s/agent/etc/containerd/config.toml /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmplsudo systemctl restart k3s
kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.14.5/nvidia-device-plugin.yml
kubectl get pods -n kube-system | grep nvidia-device-plugin

k8s调用nvidia格式

apiVersion: v1
kind: Pod
metadata:name: nvidia-smi-test
spec:restartPolicy: OnFailurecontainers:- name: nvidia-smiimage: nvidia/cuda:12.0.0-base-ubuntu20.04command: ["nvidia-smi"]resources:limits:nvidia.com/gpu: 1

标记gpu节点

kubectl label nodes <node-name> nvidia.com/gpu=true

安装gpu-operator

helm install gpu-operator gpu-operator --namespace gpu-operator --create-namespace

helm安装后

kubectl get clusterpolicies.nvidia.com cluster-policy -n gpu-operator -o yaml > cluster-policy.yaml

创建configmap

time-slicing-config
apiVersion: v1
kind: ConfigMap
metadata:name: time-slicing-config-all
data:any: |-version: v1flags:migStrategy: nonesharing:timeSlicing:resources:- name: nvidia.com/gpureplicas: 4
kubectl patch clusterpolicies.nvidia.com/cluster-policy \-n gpu-operator --type merge \-p '{"spec": {"devicePlugin": {"config": {"name": "time-slicing-config-all", "default": "any"}}}}'
http://www.lryc.cn/news/602537.html

相关文章:

  • Item18:让接口容易被正确使用,不易被误用
  • 设计模式(十五)行为型:命令模式详解
  • 计算机毕业设计java在线二手系统的设计与实现 基于Java的在线二手交易平台开发 Java技术驱动的二手物品管理系统
  • 低代码可视化AR远程协助、巡检、装配、质检新平台-元境智搭平台
  • MySQL高级配置与优化实战指南
  • 网站劫持是什么?如何防御?一篇简单科普
  • windows clion远程连接ubuntu运行调试nginx-1.22.1版本
  • MySQL有哪些“饮鸩止渴”提高性能的方法?
  • Linux应用程序架构与软件包管理
  • 在Windows下读写Linux EXT文件系统文件
  • VMWARE -ESXI-ntp时间同步无法启动异常处理
  • 用 Python 获取电脑电池电量的各种案例
  • ubuntu资源共享samba 安装与配置 mac/windows共享ubuntu文件资源
  • 暴雨服务器更懂人工智能+
  • 【GaussDB】内存资源告急:深度诊断一起“memory temporarily unavailable“故障
  • 虚拟面孔,真实革命
  • MKS E28H 0.05-100 Torr 加热 (100°C) Baratron 电容压力计,带蚀刻传感器 手侧
  • 深入解析IPMI FRU规范:分区结构与字段标识详解
  • 【数据库】时序数据库选型指南:从大数据视角看IoTDB的核心优势
  • AUTOSAR进阶图解==>AUTOSAR_SRS_OS
  • Item17:以独立语句将newed对象置入智能指针
  • RK3568基于mpp实现硬解码(二):FFmpeg + mpp实现ipc摄像头图像解码
  • 【剑指offer】树
  • 【Meta常见问题第2期】固定效应 vs 随机效应:Meta分析模型选择全解析
  • 【行测】常识判断1
  • 【MySQL】MySQL数据库如何改名
  • 【n8n】n8n新增webhook接口写数据(图解步骤,参数json,mysql存储)
  • java设计模式 -【责任链模式】
  • 常见的未授权访问漏洞靶场-练习教程
  • 2.DRF 序列化器-Serializer