NVIDIA Container Toolkit&容器工具安装配置指南

目录

一、安装

1.1 先决条件

1.2 使用 Apt 安装

1.3 使用 Yum 或 Dnf 安装

1.4 使用 Zypper 安装

二、配置

2.1 先决条件

2.2 配置 Docker

2.2.1 无根模式

2.3 配置 containerd(适用于 Kubernetes)

2.4 配置 containerd(用于 nerdctl)

2.5 配置 CRI-O

2.6 配置 Podman

三、运行工作负载示例

3.1 使用 Docker 运行工作负载示例

3.2 使用 Podman 运行示例工作负载

3.3 使用 containerd 或 CRI-O 运行示例工作负载

四、故障排除

4.1 使用 Docker 进行故障排除

生成调试日志

生成核心转储

共享调试信息

运行 apt update 时出现为选项 Signed-By 设置的值冲突错误

在 SELinux 下运行 nvidia-docker 包装器时出现权限被拒绝错误

NVML:权限不足和 SELinux


一、安装

1.1 先决条件

为您的 Linux 发行版安装 NVIDIA GPU 驱动程序。NVIDIA 建议使用您发行版的包管理器来安装驱动程序。

有关通过包管理器安装驱动程序的信息,请参阅 NVIDIA 驱动程序安装快速入门指南。

另外,您也可以通过下载 .run 安装程序来安装驱动程序。请参阅 NVIDIA 官方驱动程序页面。

1.2 使用 Apt 安装

配置生产仓库:

#curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

可选地,配置仓库以使用实验性包:

#sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

从仓库更新包列表:

#sudo apt-get update

安装 NVIDIA 容器工具包:

sudo apt-get install -y nvidia-container-toolkit

1.3 使用 Yum 或 Dnf 安装

配置生产仓库:

curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
  sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

可选地,配置仓库以使用实验性包:

sudo yum-config-manager --enable nvidia-container-toolkit-experimental

安装 NVIDIA 容器工具包:

sudo yum install -y nvidia-container-toolkit

1.4 使用 Zypper 安装

配置生产仓库:

sudo zypper ar https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo

可选地,配置仓库以使用实验性包:

sudo zypper modifyrepo --enable nvidia-container-toolkit-experimental

安装 NVIDIA 容器工具包包:

sudo zypper --gpg-auto-import-keys install -y nvidia-container-toolkit

二、配置

2.1 先决条件

您已安装了支持的容器引擎(Docker、Containerd、CRI-O、Podman)。

您已安装 NVIDIA 容器工具包。

2.2 配置 Docker

1、通过使用 nvidia-ctk 命令配置容器运行时:

sudo nvidia-ctk runtime configure --runtime=docker

nvidia-ctk 命令将修改主机上的 /etc/docker/daemon.json 文件。该文件已更新,以便 Docker 可以使用 NVIDIA 容器运行时。

2、重启 Docker 守护进程:

sudo systemctl restart docker

2.2.1 无根模式

要为运行在无根模式下的 Docker 配置容器运行时,请按照以下步骤进行:

1、通过使用 nvidia-ctk 命令配置容器运行时:

nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json

2、重启无根 Docker 守护进程:

systemctl --user restart docker

3、使用 sudo nvidia-ctk 命令配置 /etc/nvidia-container-runtime/config.toml

sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place

2.3 配置 containerd(适用于 Kubernetes)

1、通过使用 nvidia-ctk 命令配置容器运行时:

sudo nvidia-ctk runtime configure --runtime=containerd

nvidia-ctk 命令将修改主机上的 /etc/containerd/config.toml 文件。该文件已更新,以便 containerd 可以使用 NVIDIA 容器运行时。

2、重启 containerd:

sudo systemctl restart containerd

2.4 配置 containerd(用于 nerdctl)

无需额外配置。您可以直接运行 nerdctl run --gpus=all,无论是以 root 身份还是非 root 身份。您不需要为 Kubernetes 运行上述提到的 nvidia-ctk 命令。

另请参阅 nerdctl 文档。

2.5 配置 CRI-O

通过使用 nvidia-ctk 命令配置容器运行时:

sudo nvidia-ctk runtime configure --runtime=crio

nvidia-ctk 命令将修改主机上的 /etc/crio/crio.conf 文件。该文件已更新,以便 CRI-O 可以使用 NVIDIA 容器运行时。

2、重启 CRI-O 守护进程:

sudo systemctl restart crio
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值