首页 > 其他分享 >Containerd 配置使用 Nvidia container runtime

Containerd 配置使用 Nvidia container runtime

时间:2024-04-25 09:11:35浏览次数:12  
标签:container Containerd Nvidia io nvidia GPU runtime containerd

前言

Kubernetes 集群中 Docker 如何使用 GPU,请看这一篇

docker配置Nvidia环境,使用GPU

本文着重讲 Containerd 如何作为容器运行时来使用 GPU

nvidia-container-runtime

nvidia-container-runtime 是在 runc 基础上多实现了 nvidia-container-runime-hook (现在叫 nvidia-container-toolkit),该 hook 是在容器启动后(Namespace 已创建完成),容器自定义命令( Entrypoint )启动前执行。当检测到 NVIDIA_VISIBLE_DEVICES 环境变量时,会调用 libnvidia-container 挂载 GPU DeviceCUDA Driver。如果没有检测到 NVIDIA_VISIBLE_DEVICES 就会执行默认的 runc

设置 repositoryGPG key

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -

curl -s -L https://nvidia.github.io/nvidia-container-runtime/$(. /etc/os-release;echo $ID$VERSION_ID)/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list

开始安装 nvidia-container-runtime

apt install nvidia-container-runtime -y

配置 Containerd 使用 Nvidia container runtime

如果 /etc/containerd 目录不存在,就先创建它:

mkdir /etc/containerd

生成默认配置:

containerd config default > /etc/containerd/config.toml

Kubernetes 使用设备插件(Device Plugins) 来允许 Pod 访问类似 GPU 这类特殊的硬件功能特性,但前提是默认的 OCI runtime 必须改成 nvidia-container-runtime,需要修改的内容如下:

[plugins."io.containerd.grpc.v1.cri"]
  [plugins."io.containerd.grpc.v1.cri".containerd]
    default_runtime_name = "nvidia-container-runtime" # 修改为nvidia-container-runtime
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
    runtime_type = "io.containerd.runc.v2" # 修改为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"

重启 containerd 服务:

systemctl restart containerd
systemctl status containerd

确定 containerd 状态没有问题,配置成功

接下来部署 NVIDIA GPU 设备插件,nvidia-device-plugin

标签:container,Containerd,Nvidia,io,nvidia,GPU,runtime,containerd
From: https://www.cnblogs.com/niuben/p/18154302

相关文章

  • 解决安装 ollama 在 wsl2 中报 WARNING: No NVIDIA/AMD GPU detected. Ollama will ru
    首先要确保wsl2版的cuda环境已经安装[非必须]如果已安装了环境但是nvidia-smi找不到,可能是未加入环境变量,请将它的路径/usr/lib/wsl/lib加入PATHollama在/usr/bin/找不到nvidia-smi位置,所以会有如上警告,所以需要创个链接指向:方法一:sudoln-s$(whichnvid......
  • Ubuntu Nvidia driver驱动安装及卸载
    下载官方驱动安装1.安装驱动前一定要更新软件列表和安装必要软件、依赖(必须)sudoapt-getupdate#更新软件列表sudoapt-getinstallg++sudoapt-getinstallgccsudoapt-getinstallmake2.查看GPU型号(你自己知道显卡型号就不用查了,直接下一步;通用查看显卡型号......
  • 【Docker系列】Section 1: Docker and Container Fundamentals①
    本篇是根据《KubernetesandDocker–AnEnterpriseGuide》整理出来的,原著作者:ScottSurovich|MarcBoorshtein,大家可以关注一下。Whothisbookisfor❓我们创建这本书是为了帮助DevOps人员团队扩展他们的技能,超越Kubernetes的基础知识。它是根据我们在多个企业环境......
  • calico配置报错 kubelet.go:2855] "Container runtime network not ready"
    前言配置calico网络插件时,kubectlgetnode报错:NoReadykubectldescribenodenodeName:nodeRoles:<none>Labels:beta.kubernetes.io/arch=amd64beta.kubernetes.io/os=linuxkub......
  • 人形机器人 —— NVIDIA公司给出的操作算法(动态操作任务,dynamic manipulation tasks)(机
    原文:https://developer.nvidia.com/isaac/manipulator#foundation-modelsNVIDIA公司准备针对人形机器人的各部分操作分别推出一个AI框架,如:步态控制、3D感知、抓取操作、避障和规划,等等,本文介绍的就是NVIDIA计划推出的操作任务的算法的AI框架(manipulationtasks)。......
  • kubernetes CNI(Container Network Inferface)
    为什么需要CNI在kubernetes中,pod的网络是使用networknamespace隔离的,但是我们有时又需要互相访问网络,这就需要一个网络插件来实现pod之间的网络通信。CNI就是为了解决这个问题而诞生的。CNI是containernetworkinterface的缩写,它是一个规范,定义了容器运行时如何配......
  • Ubuntu 22.04 安装 Nvidia 驱动最方便安全的方式
    刚安装好的Ubuntu22.04没有N卡驱动,输入nvidia-smi,提示没有此程序并推荐到apt安装。但是,使用apt安装nvidia驱动会有极大概率出现启动黑屏和闪屏问题。不如进入开始菜单,找到“附加驱动”:此处展示了可用的Nvidia驱动,选择自己想要的版本安装,"tested"表明其经过测试,......
  • NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate
    NVIDIA驱动失效简单解决方案:NVIDIA-SMIhasfailedbecauseitcouldn‘tcommunicatewiththeNVIDIAdriver.问题:准备用GPU跑模型时,提示cuda不存在第一步,打开终端,输入:vidia-smi1|NVIDIA-SMIhasfailedbecauseitcouldn'tcommunicatewiththeNVIDIAdriver.2|Make......
  • Ranorex无法使用spy识别element(只能识别外部container) --针对edge浏览器
    1.问题问题如标题,这是一个很严重的问题,表明我们不仅不能通过track识别元素,更重要的是spy无法识别UI元素,就会导致我们无法通过自动化脚本来控制UI元素,实现自动化测试!!!2.解决2.1确保不要同时开启两个Chrome用例(chorme或者edge)2.2可以开启InternetExplorer模式(针......
  • Ubuntu20.04开机黑屏左上角光标闪烁,以及移除Nvidia驱动后造成的无法启动docker容器问
      这几天系统更新,显卡驱动由525.147.05升级到了535.171.04(tested),终端运行watch-n1nvidia-smi实时显示显卡占用情况时,偶尔出现FailedtoinitializeNVML:Driver/libraryversionmismatch问题,于是将驱动切换成openkernal版本,重启后黑屏左上角光标闪烁,于是尝试使用命令......