发行说明#

本文档介绍了 NVIDIA Container Toolkit 的新功能、改进、已修复和已知问题。


NVIDIA Container Toolkit 1.17.4#

此版本包含以下更新:

要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/

有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/

此版本的 NVIDIA Container Toolkit v1.17.4 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.17.4

  • nvidia-container-toolkit-base 1.17.4

  • libnvidia-container-tools 1.17.4

  • libnvidia-container1 1.17.4

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.4-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.4-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.17.4

修复和功能#

  • 默认情况下禁用从容器挂载 CUDA 兼容库。这些库仍然在其原始位置可用。如果需要之前的行为,可以启用 allow-cuda-compat-libs-from-container 功能标志。

  • NVIDIA_DRIVER_CAPABILITIES 在基于 iGPU 的系统上包含 graphics 时,跳过图形库的检测和注入。这可以防止在启动容器时,冲突的 ICD 文件导致错误。

  • 修复了运行 nvidia-ctk generate 时忽略 --config-search-path 参数的错误。此修复允许即使驱动程序位于非标准位置也能找到驱动程序。

  • 添加了对 Containerd 版本 3 配置文件 的支持。

libnvidia-container 的增强功能#

  • nvidia-container-cli 添加了 --no-cntlibs CLI 选项。

container-toolkit 容器镜像的增强功能#

  • 将 CUDA 基础镜像版本更新至 12.6.3。

NVIDIA Container Toolkit 1.17.3#

此版本包含以下更新:

要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/

有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/


此版本的 NVIDIA Container Toolkit v1.17.3 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.17.3

  • nvidia-container-toolkit-base 1.17.3

  • libnvidia-container-tools 1.17.3

  • libnvidia-container1 1.17.3

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.3-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.3-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.17.3

修复和功能#

  • 默认情况下仅允许主机相对 LDConfig 路径。允许容器相对 LDConfig 路径的先前行为可以显式启用。

libnvidia-container 的增强功能#

  • 在调用 fexecve() 更新容器的 ldcache 之前,创建主机 ldconfig 二进制文件的虚拟副本。

NVIDIA Container Toolkit 1.17.2#

此版本的 NVIDIA Container Toolkit v1.17.2 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.17.2

  • nvidia-container-toolkit-base 1.17.2

  • libnvidia-container-tools 1.17.2

  • libnvidia-container1 1.17.2

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.2-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.2-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.17.2

修复和功能#

  • 修复了旧版镜像会将 imex 通道设置为 all 容器而导致启动失败的错误。

NVIDIA Container Toolkit 1.17.1#

此版本的 NVIDIA Container Toolkit v1.17.1 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.17.1

  • nvidia-container-toolkit-base 1.17.1

  • libnvidia-container-tools 1.17.1

  • libnvidia-container1 1.17.1

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.1-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.1-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.17.1

修复和功能#

  • 修复了容器镜像中存在的特定符号链接可能导致容器启动失败的错误。

  • 修复了基于 Tegra 的系统上容器启动失败的错误。

  • 修复了默认容器运行时配置路径未正确设置的错误。

container-toolkit 容器镜像的增强功能#

  • 如果无法从命令行确定当前运行时配置,则添加回退到使用配置文件的功能。这修复了在 microk8s 等环境上的部署问题。

NVIDIA Container Toolkit 1.17.0#

此版本包含以下更新:

要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/

有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/


此版本的 NVIDIA Container Toolkit v1.17.0 是一个功能更新和错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.17.0

  • nvidia-container-toolkit-base 1.17.0

  • libnvidia-container-tools 1.17.0

  • libnvidia-container1 1.17.0

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.17.0-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.17.0

修复和功能#

  • 修复了在容器启动时创建的符号链接可能会逃脱容器根目录的错误。此修复解决了 CVE-2024-0134。

  • 修复了在生成 CDI 规范时在 ldcache 中查找 libcuda.so 的错误。此修复使工具包能够在驱动程序安装使用自定义路径的系统上找到驱动程序库。

  • 修复了与在基于 Tegra 的系统上创建符号链接链相关的错误。此修复确保行为在容器的多次运行中保持一致,并且不依赖于随机排序顺序。

  • 修复了在 CDI 规范生成中未发现 VDPAU 驱动程序库的错误。

  • 添加了对请求 IMEX 通道作为卷挂载的支持。

  • 添加了 disable-imex-channel-creation 功能标志,用于在创建容器时禁用 IMEX 通道设备节点的创建。

  • management 模式下,将 IMEX 通道设备节点添加到 CDI 规范中。

  • 在 CDI 规范生成中添加了选择性驱动程序符号链接(例如 libcuda.so)的创建,以匹配 legacy 模式下的行为。

container-toolkit 容器镜像的增强功能#

  • 添加了从命令行而不是配置文件查询当前容器运行时配置的支持。这确保在配置 NVIDIA Container Runtimes 时使用有效的配置。

  • 将 CUDA 基础镜像版本更新至 12.6.2。

libnvidia-container 的增强功能#

  • 添加了 --no-create-imex-channels 命令行选项。

NVIDIA Container Toolkit 1.16.2#

此版本提供关键安全更新,建议所有用户安装。

此版本包含以下更新:

要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/

有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/


此版本的 NVIDIA Container Toolkit v1.16.2 是一个错误修复和安全版本。

包含以下软件包

  • nvidia-container-toolkit 1.16.2

  • libnvidia-container-tools 1.16.2

  • libnvidia-container1 1.16.2

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.16.2-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.16.2-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.16.1

修复和功能#

  • 从图形挂载中排除了 libnvidia-allocator。这修复了当容器以双向挂载传播启动时泄漏挂载的错误。

  • 为默认 runtime-config-override 使用空字符串。这消除了运行时(例如 Docker)不适用时的冗余警告。

container-toolkit 容器镜像的增强功能#

  • 将 CUDA 基础镜像版本更新至 12.6.0。

libnvidia-container 的增强功能#

  • 添加了 --no-gsp-firmware 命令行选项。

  • 添加了 --no-fabricmanager 命令行选项。

  • 添加了 --no-persistenced 命令行选项。

  • 更新了逻辑以在挂载库时跳过目录和符号链接。

NVIDIA Container Toolkit 1.16.1#

此版本的 NVIDIA Container Toolkit v1.16.1 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.16.1

  • libnvidia-container-tools 1.16.1

  • libnvidia-container1 1.16.1

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.16.1-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.16.1-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.16.1

修复和功能#

  • 修复了在为 MIG 设备生成 CDI 规范期间处理错误的错误。

NVIDIA Container Toolkit 1.16.0#

此版本的 NVIDIA Container Toolkit v1.16.0 是一个主要功能版本。

包含以下软件包

  • nvidia-container-toolkit 1.16.0

  • libnvidia-container-tools 1.16.0

  • libnvidia-container1 1.16.0

    注意

    v1.14.0 版本是最后一个包含 nvidia-container-runtimenvidia-docker2 软件包的版本。所有必需的功能都包含在 nvidia-container-toolkit 软件包中。此工具包软件包包含一个实用程序,用于配置 Docker 守护程序以使用 NVIDIA Container Runtime。

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.16.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.16.0-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.16.0

修复和功能#

  • 添加了额外图形库的注入,以改进 X11 功能。

  • 添加了从默认运行时提取运行时选项的支持,而不是假设为 runc

  • 降低了 NVIDIA Container Runtime 的日志记录详细程度。

  • 修复了记录器创建的参数解析错误。

  • 提高了注入到容器中的 ld.so.conf.d 配置文件的优先级。这确保注入的库优先于容器中存在的库。

  • 将默认 CDI 规范权限更新为 644。这修复了在使用 nvidia-ctk cdi transform 功能时指定输出的权限问题。

  • 修复了在使用非标准驱动程序根目录时发现 libnvidia-ml.so.1 的问题。这在使用主机上的驱动程序容器时启用了 CDI 规范生成。

  • 添加了在保存时重新计算最小所需 CDI 规范版本的支持。这确保了由于规范转换而导致的版本更改得到考虑。

  • nvidia-ctk hook 命令移动到单独的 nvidia-cdi-hook 二进制文件(支持相同的子命令)。这允许更清晰地映射到生成的 CDI 规范的非 OCI 兼容用例。

  • 切换为在 nvidia-ctk config --set 命令中使用 : 作为列表分隔符。这修复了尝试设置列表配置选项时的错误。

container-toolkit 容器镜像的增强功能#

  • 将 CUDA 基础镜像版本更新至 12.5.1。

  • 添加了对自定义驱动程序安装路径的支持。

NVIDIA Container Toolkit 1.15.0#

此版本的 NVIDIA Container Toolkit v1.15.0 是一个主要功能版本。

包含以下软件包

  • nvidia-container-toolkit 1.15.0

  • libnvidia-container-tools 1.15.0

  • libnvidia-container1 1.15.0

    注意

    v1.14.0 版本是最后一个包含 nvidia-container-runtimenvidia-docker2 软件包的版本。所有必需的功能都包含在 nvidia-container-toolkit 软件包中。此工具包软件包包含一个实用程序,用于配置 Docker 守护程序以使用 NVIDIA Container Runtime。

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.15.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.15.0-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.15.0

软件包变更#

  • 移除了 nvidia-container-runtimenvidia-docker2 软件包。

  • nvidia-container-toolkit 软件包中移除了 libseccomp 依赖项。

  • 添加了 libnvidia-container-libseccomp2 元软件包,以允许 libseccomp 依赖项由基于 SUSE 的系统上的 libseccomp2 满足。

  • 移除了为旧版基于 Tegra 的系统包含的 libnvidia-container0 jetpack 依赖项。

修复和功能#

  • 在图形挂载列表中包含了 nvidia/nvoptix.binvulkan/icd.d/nvidia_layers.json

  • 修复了使用 --setnvidia-ctk config 命令中的错误。现在可以正确应用应用的配置选项类型。

  • 添加了显式请求的运行时模式的日志记录。

  • 添加了对 WSL2 系统上 libnvdxgdmal.so.1 的检测。较新驱动程序版本需要此库。

  • 修复了在基于 SUSE 的系统上确定默认 nvidia-container-runtime.user 配置值的错误。不正确的默认值导致启动容器时出现权限错误。

  • crun 添加到已配置的底层运行时列表中。此增强功能改进了 CRI-O 支持。

  • nvidia-ctk runtime configure 命令添加了 --cdi.enabled 选项,以在 containerd 和 Docker 中启用 CDI。对于 CDI 支持,需要 Docker 25 或更高版本。

container-toolkit 容器镜像的增强功能#

  • 将 CUDA 基础镜像版本更新至 12.4.1。

  • 移除了 centos7 镜像。ubi8 镜像可用于所有基于 RPM 的平台。

NVIDIA Container Toolkit 1.14.6#

此版本的 NVIDIA Container Toolkit v1.14.6 添加了对 550.x CUDA 驱动程序的某些功能的支持。

包含以下软件包

  • nvidia-container-toolkit 1.14.6

  • libnvidia-container-tools 1.14.6

  • libnvidia-container1 1.14.6

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.6-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.6-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.6-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.14.6

修复和功能#

  • 如果 nvidia 用作设备名称而不是 nvidia-frontend,则添加从 /proc/devices 提取设备主设备号的支持。这修复了 550.x 驱动程序的 /dev/char 符号链接的创建。

  • 添加了使用 NVIDIA_IMEX_CHANNELS 环境变量选择 IMEX 通道的支持。

NVIDIA Container Toolkit 1.14.5#

此版本的 NVIDIA Container Toolkit v1.14.5 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.14.5

  • libnvidia-container-tools 1.14.5

  • libnvidia-container1 1.14.5

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.5-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.5-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.5-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.14.5

修复和功能#

  • 修复了 Docker 的 nvidia-ctk runtime configure --cdi.enabled 命令。这错误地将 experimental = true 设置为 Docker >= 25 中 CDI 支持的 features.cdi = true

NVIDIA Container Toolkit 1.14.4#

此版本的 NVIDIA Container Toolkit v1.14.4 是一个错误修复和次要功能版本。

包含以下软件包

  • nvidia-container-toolkit 1.14.4

  • libnvidia-container-tools 1.14.4

  • libnvidia-container1 1.14.4

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.4-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.4-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.4-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.14.4

软件包变更#

  • nvidia-container-toolkit 软件包中移除了 libseccomp 依赖项。

修复和功能#

  • 在图形挂载列表中包含了 nvidia/nvoptix.binvulkan/icd.d/nvidia_layers.json

  • 修复了使用 --setnvidia-ctk config 命令中的错误。现在可以正确应用应用的配置选项类型。

  • 添加了显式请求的运行时模式的日志记录。

  • 添加了对 WSL2 系统上 libnvdxgdmal.so.1 的检测。较新驱动程序版本需要此库。

  • 修复了在基于 SUSE 的系统上确定默认 nvidia-container-runtime.user 配置值的错误。不正确的默认值导致启动容器时出现权限错误。

  • crun 添加到已配置的底层运行时列表中。此增强功能改进了 CRI-O 支持。

  • nvidia-ctk runtime configure 命令添加了 --cdi.enabled 选项,以在 containerd 和 Docker 中启用 CDI。对于 CDI 支持,需要 Docker 25 或更高版本。

libnvidia-container 的增强功能#

  • 添加了对 WSL2 系统上 libnvdxgdmal.so.1 的检测。较新驱动程序版本需要此库。

container-toolkit 容器镜像的增强功能#

  • 将 CUDA 基础镜像版本更新至 12.3.1。

NVIDIA Container Toolkit 1.14.3#

此版本的 NVIDIA Container Toolkit v1.14.3 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.14.3

  • libnvidia-container-tools 1.14.3

  • libnvidia-container1 1.14.3

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.3-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.3-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.3-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.14.3

修复和功能#

container-toolkit 容器镜像的增强功能#

  • 将 CUDA 基础镜像版本更新至 12.2.2。

NVIDIA Container Toolkit 1.14.2#

此版本的 NVIDIA Container Toolkit v1.14.2 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.14.2

  • libnvidia-container-tools 1.14.2

  • libnvidia-container1 1.14.2

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.2-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.2-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.2-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.14.2

修复和功能#

  • 修复了在基于 Tegra 的系统上,容器中未创建预期符号链接的错误。这可能导致某些应用程序启动失败。

NVIDIA Container Toolkit 1.14.1#

此版本的 NVIDIA Container Toolkit v1.14.1 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.14.1

  • libnvidia-container-tools 1.14.1

  • libnvidia-container1 1.14.1

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.1-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.1-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.1-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.14.1

修复和功能#

  • 修复了 NVIDIA Container Runtime Hook 忽略 /etc/nvidia-container-runtime/config.toml 内容的错误。此修复意味着现在可以遵守 no-cgroups 或日志文件路径等设置。

libnvidia-container 的增强功能#

  • 切换为使用基于 RPM 的系统上的 elfutils-libelf-devel 中的 libelf.so。此更改仅为构建更改。

NVIDIA Container Toolkit 1.14.0#

此版本的 NVIDIA Container Toolkit v1.14.0 是一个功能版本。

包含以下软件包

  • libnvidia-container 1.14.0

  • nvidia-container-toolkit 1.14.0

  • nvidia-container-runtime 3.14.0

  • nvidia-docker2 2.14.0

    注意

    这是最后一个包含 nvidia-container-runtimenvidia-docker2 软件包的版本。所有必需的功能都包含在 nvidia-container-toolkit 软件包中。此工具包软件包包含一个实用程序,用于配置 Docker 守护程序以使用 NVIDIA Container Runtime。

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.0-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.14.0-ubuntu20.04

修复和功能#

  • 改进了对基于 Tegra 的系统上的容器设备接口 (CDI) 的支持。

  • 简化了工具包的打包和分发。

    从此版本开始,分发统一的 .deb.rpm 软件包。这些软件包与所有受支持的发行版兼容。此增强功能简化了安装过程,而不是发布特定于发行版的软件包。

libnvidia-container 的增强功能#

  • 添加了自动生成 nvc.h 头文件的逻辑,以便无需显式更新版本。

  • 将共享编译器库 libnvidia-gpucomp.so 添加到包含的计算库列表中。

  • 为加密/解密库添加了 OpenSSL 3 支持。

container-toolkit 容器镜像的增强功能#

  • 将 CUDA 基础镜像版本更新至 12.2.0。

  • 标准化了用于配置容器引擎的环境变量名称。

  • 移除了 nvidia-experimental 运行时的安装。此运行时已被 CDI 模式下的 NVIDIA Container Runtime 取代。

  • 设置 NVIDIA_VISIBLE_DEVICES=void 以防止将 NVIDIA 设备和驱动程序注入到 NVIDIA Container Toolkit 容器中。

NVIDIA Container Toolkit 1.13.5#

此版本的 NVIDIA Container Toolkit v1.13.5 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.13.5

  • libnvidia-container-tools 1.13.5

  • libnvidia-container1 1.13.5

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.5-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.5-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.5-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.13.5

修复和功能#

  • 在基于 RPM 的系统上安装 NVIDIA Container Toolkit 时,移除了对 coreutils 的依赖。现在可以使用 Anaconda 等工具在干净的系统上安装软件包。

  • 添加了在生成 CDI 规范时检测自定义路径下的 GSP 固件的支持。

特定于 libnvidia-container#

  • 将共享编译器库 libnvidia-gpucomp.so 添加到包含的计算库列表中。

NVIDIA Container Toolkit 1.13.4#

此版本的 NVIDIA Container Toolkit v1.13.4 是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.13.4

  • libnvidia-container-tools 1.13.4

  • libnvidia-container1 1.13.4

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.4-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.4-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.4-ubuntu20.04(也作为 nvcr.io/nvidia/k8s/container-toolkit:v1.13.4

修复和功能#

特定于 container-toolkit 容器镜像#

  • 将 CUDA 基础镜像版本提升至 12.1.0

NVIDIA Container Toolkit 1.13.3#

NVIDIA Container Toolkit v1.13.3 版本是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.13.3

  • libnvidia-container-tools 1.13.3

  • libnvidia-container1 1.13.3

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.3-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.3-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.3-ubuntu20.04 (也可用作 nvcr.io/nvidia/k8s/container-toolkit:v1.13.3)

修复和功能#

  • 修复了生成的 CDI 规范文件中的权限问题。现在,规范文件以 644 权限生成,以允许非 root 用户读取这些文件。这意味着像 Podman 这样的无 root 应用程序也可以读取规范以注入 CDI 设备。

  • 修复了一个在具有多个驱动程序存储的 WSL2 系统上创建指向 nvidia-smi 的不正确符号链接的错误。当系统具有集成 GPU 和独立 NVIDIA GPU 时,例如,有时会触发此错误。

  • 修复了一个导致管理容器的 CDI 规范生成失败的错误。当驱动程序版本在其语义版本号中不包含补丁组件时,会触发此错误。

  • 修复了一个在 CDI 模式下应用额外修改(例如图形库和设备的注入)的错误。

  • 修复了在使用 nvidia-ctk system create-dev-char-symlinks 命令时,在容器化用例中加载内核模块和创建设备节点的问题。

容器工具包容器镜像特有#

  • 增加了对在支持的容器运行时中使用相同的环境变量来指定选项的支持。这简化了与 GPU Operator 的集成。

NVIDIA Container Toolkit 1.13.2#

NVIDIA Container Toolkit v1.13.2 版本是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.13.2

  • libnvidia-container-tools 1.13.2

  • libnvidia-container1 1.13.2

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.2-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.2-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.2-ubuntu20.04 (也可用作 nvcr.io/nvidia/k8s/container-toolkit:v1.13.2)

修复和功能#

  • 添加了 nvidia-container-runtime-hook.path 配置选项,以显式指定 NVIDIA Container Runtime Hook 路径。

  • 修复了内核模块未加载时,创建 /dev/char 符号链接操作失败的错误。

  • 添加了一个在创建设备节点时加载内核模块的选项

  • 添加了在创建 /dev/char 符号链接时创建设备节点的选项

  • 修复了一个将打开调试日志文件失败视为致命错误的错误。当用户没有足够的权限打开日志文件时,这可能会导致无 root 环境中的失败。

libnvidia-container 特有#

  • 为加密/解密库添加了 OpenSSL 3 支持。

容器工具包容器镜像特有#

  • 将 CUDA 基础镜像版本提升至 12.1.1。

NVIDIA Container Toolkit 1.13.1#

NVIDIA Container Toolkit v1.13.1 版本是一个错误修复版本。

包含以下软件包

  • nvidia-container-toolkit 1.13.1

  • libnvidia-container-tools 1.13.1

  • libnvidia-container1 1.13.1

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.1-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.1-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.1-ubuntu20.04 (也可用作 nvcr.io/nvidia/k8s/container-toolkit:v1.13.1)

修复和功能#

  • 修复了一个错误,该错误会导致容器中 ldcache 的更新对于不使用 ldconfig 的镜像(例如 busybox)失败。

  • 修复了一个错误,其中如果 NVIDIA_DRIVER_CAPABILITIES 在 Debian 系统上包含 graphicsdisplay,则无法确定 CUDA 驱动程序版本会导致容器启动失败。

  • 修复了 Debian 系统上的 CDI 规范生成问题。

NVIDIA Container Toolkit 1.13.0#

NVIDIA Container Toolkit v1.13.0 版本添加了以下主要功能

  • 改进了在使用 GPU Operator 上下文中的 NVIDIA Container Toolkit 时,对 GPU 设备的容器设备接口 (CDI) 规范的支持。

  • 在使用 nvidia-ctk cdi generate 命令的基于 WSL2 的系统上添加了生成 CDI 规范的功能。现在,这是在 WSL2 上使用 GPU 的推荐机制,并且 podman 是推荐的容器引擎。

包含以下软件包

  • nvidia-container-toolkit 1.13.0

  • libnvidia-container-tools 1.13.0

  • libnvidia-container1 1.13.0

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.0-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.13.0-ubuntu20.04 (也可用作 nvcr.io/nvidia/k8s/container-toolkit:v1.13.0)

以下软件包也已更新为依赖于至少 1.13.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.13.0

  • nvidia-docker2 2.13.0

注意

这将是最后一次更新 nvidia-container-runtimenvidia-docker2 软件包的版本。所有必需的功能现在都包含在 nvidia-container-toolkit 软件包中。这包括一个用于配置 Docker 守护程序以使用 NVIDIA Container Runtime 的实用程序。

打包变更#

  • 修复了基于 RPM 的系统上卸载脚本中的一个错误,该错误会由于缺少 nvidia-container-runtime-hook 符号链接而发出错误。但这不会阻止软件包的卸载。

  • 删除了 fedora35 作为打包目标。请改用 centos8 软件包。

修复和功能#

  • 修复了在使用生成的 CDI 规范或当 NVIDIA_DRIVER_CAPABILITIES 包括 graphicsdisplay 或设置为 all 时运行容器的错误。现在,容器不再因错误消息指示缺少 /dev/dri/dev/nvidia-caps 路径而失败。

  • 增加了对检测和注入 NVIDIA GPU 驱动程序的 525.x 版本所需的多个 GSP 固件文件的支持。

  • 修复了一个导致生成的 CDI 规范中 nvidia-ctk 路径为空白的问题。

  • 修复了某些平台上 nvidia-ctk 缺少 NVML 符号的问题。有关更多信息,请参见 issue #49

libnvidia-container 特有#

  • 增加了对检测和注入 NVIDIA GPU 驱动程序的 525.x 版本所需的多个 GSP 固件文件的支持。

  • 修复了 RPC 初始化失败时的段错误。

  • 更改了 NVIDIA Container Library 的 centos 变体,以使用静态 libtirpc v1.3.2,以防止在内部使用 RPC 时出错。

  • 删除了 fedora35 作为打包目标。请改用 centos8 软件包。

容器工具包容器镜像特有#

  • 为工具包配置添加了 --cdi-enabled 标志。设置此标志后,将生成用于管理容器的 CDI 规范。

  • 修复了在安装工具包组件的其余部分时,nvidia-ctk 未安装到主机上的错误。

  • 更新了 NVIDIA Container Toolkit 配置以使用已安装的 nvidia-ctk 路径。

  • 更新了实验性运行时的安装,以使用 nvidia-container-runtime.experimental 作为可执行文件名,而不是 nvidia-container-runtime-experimental。这与为特定模式运行时添加的可执行文件保持一致。

  • 添加了 cdilegacy 模式的特定模式运行时的安装和配置。

  • 将 CUDA 基础镜像更新为 12.1.0

  • 添加了 nvidia-container-runtime.modes.cdi.annotation-prefixes 配置选项,该选项允许覆盖读取的 CDI 注释前缀。此设置用于更新 containerd 配置,以允许低级运行时看到这些注释。

  • 添加了在为管理容器生成 CDI 规范时创建设备节点的工具。这确保了管理容器的 CDI 规范可以访问所需的控制设备。

  • 添加了 nvidia-container-runtime.runtimes 配置选项,用于设置 NVIDIA Container Runtime 的低级运行时。这可以用于基于 Crio 的系统,其中 crun 是配置的默认低级运行时。

已知问题#

NVIDIA Container Toolkit 1.12.1#

NVIDIA Container Toolkit v1.12.1 版本主要是一个错误修复版本。

打包变更#

  • 修复了基于 RPM 的系统上卸载脚本中的一个错误,该错误会由于缺少 nvidia-container-runtime-hook 符号链接而发出错误。但这不会阻止软件包的卸载。

  • 删除了 fedora35 作为打包目标。请改用 centos8 软件包。

修复和功能#

  • 修复了在使用生成的 CDI 规范或当 NVIDIA_DRIVER_CAPABILITIES 包括 graphicsdisplay 或设置为 all 时运行容器的错误。现在,容器不再因错误消息指示缺少 /dev/dri/dev/nvidia-caps 路径而失败。

  • 增加了对检测和注入 NVIDIA GPU 驱动程序的 525.x 版本所需的多个 GSP 固件文件的支持。

  • 修复了一个导致生成的 CDI 规范中 nvidia-ctk 路径为空白的问题。

  • 修复了某些平台上 nvidia-ctk 缺少 NVML 符号的问题。有关更多信息,请参见 issue #49

libnvidia-container 特有#

  • 增加了对检测和注入 NVIDIA GPU 驱动程序的 525.x 版本所需的多个 GSP 固件文件的支持。

容器工具包容器镜像特有#

  • 将 CUDA 基础镜像更新为 12.1.0

NVIDIA Container Toolkit 1.12.0#

NVIDIA Container Toolkit v1.12.0 版本添加了以下主要功能

  • 改进了容器化环境中无头 Vulkan 应用程序的支持。

  • 用于为 GPU 设备生成容器设备接口 (CDI) 规范的工具。现在,使用 CDI 是在 podman 中使用 GPU 的推荐机制。

包含以下软件包

  • nvidia-container-toolkit 1.12.0

  • libnvidia-container-tools 1.12.0

  • libnvidia-container1 1.12.0

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-ubuntu18.04

  • nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-ubuntu20.04 (也可用作 nvcr.io/nvidia/k8s/container-toolkit:v1.12.0)

以下软件包也已更新为依赖于至少 1.12.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.12.0

  • nvidia-docker2 2.12.0

注意

这将是最后一次更新 nvidia-container-runtimenvidia-docker2 软件包的版本。所有必需的功能现在都包含在 nvidia-container-toolkit 软件包中。这包括一个用于配置 Docker 守护程序以使用 NVIDIA Container Runtime 的实用程序。

打包变更#

  • 更新了 nvidia-container-toolkit 软件包,以允许从 v1.11.0 之前的软件包版本升级,而无需删除 nvidia-container-runtime-hook 可执行文件。

  • 在某些发行版上,已删除完整镜像。 Debian 和基于 RPM 的发行版的 .list.repo 文件的链接已得到维护,以确保官方安装说明继续有效。此更改旨在进一步优化我们的软件包存储库的大小。

修复和功能#

  • 添加 nvidia-ctk cdi generate 命令,以生成可用 NVIDIA 设备的 CDI 规范。生成的 CDI 规范可用于在启用 CDI 的容器引擎(如 podman)中提供对 NVIDIA 设备的访问,尤其是在无 root 情况下。

  • NVIDIA_DRIVER_CAPABILITIES 包括 graphicsdisplay 时,添加对容器化环境中无头 Vulkan 应用程序的完全支持。这包括注入 Vulkan ICD 加载程序以及直接渲染设备。

  • 改进了 NVIDIA Container Runtime 中错误日志记录。

libnvidia-container 特有#

  • 将 NVVM 编译器库包含在注入的计算库集中

  • 跳过创建已挂载的文件,以允许将 /var/run 等路径挂载到容器中。

  • 在 WSL2 下将 nvcubins.bin 添加到 DriverStore 组件

容器工具包容器镜像特有#

  • 将 CUDA 基础镜像更新为 12.0.1

已知问题#

  • 当使用 CDI 运行容器或如果 NVIDIA_DRIVER_CAPABILITIES 包括 graphicsdisplay 时,如果所选设备没有与之关联的此类节点,则可能会引发错误,指出容器中缺少 /dev/dri 和/或 /dev/nvidia-caps 路径。

$ docker run -it --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=nvidia.com/gpu=0 nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi -L
    docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #1: error running hook: exit status 1, stdout: , stderr: chmod: cannot access '/var/lib/docker/overlay2/9069fafcb6e39ccf704fa47b52ca92a1d48ca5ccfedd381f407456fb6cd3f9f0/merged/dev/dri': No such file or directory: unknown.
    ERRO[0000] error waiting for container: context canceled

此问题已在 v1.12.1 版本中得到解决。

NVIDIA Container Toolkit 1.11.0#

NVIDIA Container Toolkit v1.11.0 版本主要旨在增加对将 GPUDirect Storage 和 MOFED 设备注入到容器化环境中的支持。

包含以下软件包

  • nvidia-container-toolkit 1.11.0

  • libnvidia-container-tools 1.11.0

  • libnvidia-container1 1.11.0

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubuntu18.04

  • nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubuntu20.04 (也可用作 nvcr.io/nvidia/k8s/container-toolkit:v1.11.0)

以下软件包也已更新为依赖于至少 1.11.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.11.0

请注意,此版本不包含 nvidia-docker2 的更新,并且与 nvidia-docker2 2.11.0 兼容。

打包变更#

  • 引入了 nvidia-container-toolkit-base 软件包,该软件包允许在不需要 NVIDIA Container Runtime Hook、NVIDIA Container CLI 和 NVIDIA Container Library 的情况下安装更高级别的组件。这包括使用 NVIDIA Container Runtime 的 CSV 模式的基于 Tegra 的系统。

  • 软件包存储库包括对 Fedora 35 软件包的支持。

  • 软件包存储库包括对 RHEL 8.6 的支持。这会重定向到 Centos 8 软件包。

  • 已删除旧发行版的镜像以限制软件包存储库的大小。

修复和功能#

  • 修复了 CSV 模式中的错误,其中在挂载规范中列为 sym 条目的库未添加到 LDCache。

  • nvidia-container-toolkit 可执行文件重命名为 nvidia-container-runtime-hook,以更好地表明意图。创建了一个名为 nvidia-container-toolkit 的符号链接,该链接指向 nvidia-container-runtime-hook 可执行文件。

  • 将平台文件注入到基于 Tegra 的系统上的容器中,以便将来在 GPU 设备插件中支持这些系统。

  • 为 NVIDIA Container Runtime 添加 cdi 模式

  • 如果容器的 NVIDIA_GDS 环境变量设置为 enabled,则添加 GPUDirect Storage (nvidia-fs*) 设备的发现

  • 如果容器的 NVIDIA_MOFED 环境变量设置为 enabled,则添加 MOFED Infiniband 设备的发现

  • 添加 nvidia-ctk runtime configure 命令,以配置 Docker 配置文件(例如 /etc/docker/daemon.json)以与 NVIDIA Container Runtime 一起使用。

libnvidia-container 特有#

  • 修复了在指定 --no-pivot-root 选项时未更新 LDCache 的错误

  • 在 arm64 系统上预加载 libgcc_s.so.1

容器工具包容器镜像特有#

  • 将 CUDA 基础镜像更新为 11.7.1

  • 允许通过工具包容器设置 accept-nvidia-visible-devices-* 配置选项

已知问题#

  • 在基于 RPM 的系统上从早期版本的 NVIDIA Container Toolkit 升级时,软件包管理器(如 yum)可能会由于旧软件包版本中定义的卸载后挂钩而删除已安装的 /usr/bin/nvidia-container-runtime-hook 可执行文件。为避免此问题,请在安装 v1.11.0 之前删除旧版本的 nvidia-container-toolkit,或者在 /usr/bin/nvidia-container-runtime-hook 文件丢失时重新安装 v1.11.0 软件包。对于已安装 v1.11.0 版本软件包并处于不可用状态的系统,运行 yum reinstall -y nvidia-container-toolkit-1.11.0-1 应该可以解决此问题。

  • container-toolkit:v1.11.0 镜像已发布,其中包含以下已知的 HIGH 漏洞 CVE。这些漏洞来自基础镜像,而不是 NVIDIA Container Toolkit 组件使用的库中

NVIDIA Container Toolkit 1.10.0#

NVIDIA Container Toolkit v1.10.0 版本主要旨在改进对基于 Tegra 的系统的支持。它引入了 NVIDIA Container Runtime 的一种新操作模式,该模式直接修改传入的 OCI 运行时规范,而不是依赖 NVIDIA Container CLI。

包含以下软件包

  • nvidia-container-toolkit 1.10.0

  • libnvidia-container-tools 1.10.0

  • libnvidia-container1 1.10.0

包含以下 container-toolkit 容器

  • nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-ubuntu18.04

  • nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-ubuntu20.04 (也可用作 nvcr.io/nvidia/k8s/container-toolkit:v1.10.0)

以下软件包也已更新为依赖于至少 1.10.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.10.0

  • nvidia-docker2 2.11.0

打包变更#

  • 软件包存储库包括对 Ubuntu 22.04 的支持。这会重定向到 Ubuntu 18.04 软件包。

  • 软件包存储库包括对 RHEL 9.0 的支持。这会重定向到 Centos 8 软件包。

  • 软件包存储库包括对 OpenSUSE 15.2 和 15.3 的支持。这些会重定向到 OpenSUSE 15.1 软件包。

  • 更新了 nvidia-docker2 Debian 软件包,以允许与 moby-engine 一起安装,而不是要求 docker-cedocker-eedocker.io

修复和功能#

  • 添加 nvidia-ctk CLI 以提供用于与 NVIDIA Container Toolkit 交互的实用程序

  • 为 NVIDIA Container Runtime 添加了一种新模式,该模式面向使用基于 CSV 文件的挂载规范的基于 Tegra 的系统。

  • 如果找不到配置文件,则使用默认配置而不是引发错误

  • 切换到调试日志记录以减少日志详细程度

  • 支持记录到命令行中请求的日志

  • 允许将低级运行时路径显式设置为 nvidia-container-runtime.runtimes 选项

  • 修复了如果 PATH envvar 未设置则无法找到低级运行时的问题

  • 为所有 CLI 添加 --version 标志

libnvidia-container 特有#

  • libtirpc 版本提升至 1.3.2

  • 修复了使用非标准前缀编译的 glibc 运行主机 ldconfig 时出现的错误

  • libcudadebugger.so 添加到计算库列表

  • [WSL2] 修复了在没有适配器存在的 WSL2 系统上(例如,缺少 /dev/dxg)出现的段错误

  • 检查设备是否启用 MIG 时,忽略挂起的 MIG 模式

  • [WSL2] 修复了当 NVIDIA_DRIVER_CAPABILITIES 不包含“compute”时,/dev/dxg 未挂载的错误

容器工具包容器镜像特有#

  • 修复了在使用版本 1 配置文件时,将运行时配置应用于 containerd 的错误

  • 将基础镜像更新为 CUDA 11.7.0

  • Ubuntu 18.04 的多架构镜像不再可用。(对于容器工具包镜像的多架构支持,至少需要 Ubuntu 20.04)

  • Centos 8 镜像不再可用,因为该操作系统已被视为 EOL,并且没有可用的 CUDA 基础镜像更新

  • 镜像不再发布到 Docker Hub,应改用 NGC 镜像

已知问题#

  • container-toolkit:v1.10.0 镜像已发布,其中包含以下已知的 HIGH 漏洞 CVE。这些漏洞来自基础镜像,而不是 NVIDIA Container Toolkit 组件使用的库中

NVIDIA Container Toolkit 1.9.0#

此 NVIDIA Container Toolkit v1.9.0 版本主要针对为 container-toolkit 镜像添加多架构支持。它还包括在 Tegra 系统上的增强功能和一些值得注意的错误修复。

包含以下软件包

  • nvidia-container-toolkit 1.9.0

  • libnvidia-container-tools 1.9.0

  • libnvidia-container1 1.9.0

以下是包含的 container-toolkit 容器(请注意,这些容器在 Docker Hub 上也以 nvidia/container-toolkit 提供)

  • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu18.04

以下软件包也已更新,依赖于至少 1.9.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.9.0

  • nvidia-docker2 2.10.0

修复和功能#

libnvidia-container 特有#

  • 在 CLI 中为 /sys/.../family 文件添加额外的 Tegra 检查

  • 更新 jetpack 特定的 CLI 选项,默认仅加载 Base CSV 文件

  • 修复了(来自 v1.8.0 版本)将 GSP 固件挂载到没有 /lib/usr/lib 符号链接的容器中的错误

  • nvml.h 更新到 CUDA 11.6.1 nvML_DEV 11.6.55

  • 更新 switch 语句以包含来自最新 nvml.h 的新品牌

  • 处理 Jetson 平台上的所有 --require 标志

  • 修复了在 Debian 系统上运行 ldconfig 的长期存在的问题

container-toolkit 容器镜像特有#

  • 发布基于 nvidia/cuda:11.6.0-base-ubuntu20.04nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu20.04 镜像

  • 以下镜像作为多架构镜像提供,包括对 linux/amd64linux/arm64 平台的支持

    • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos8

    • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubi8

    • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu18.04 (和 nvcr.io/nvidia/k8s/container-toolkit:v1.9.0)

    • nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu20.04

已知问题#

NVIDIA Container Toolkit 1.8.1#

此版本的 NVIDIA Container Toolkit 是一个错误修复版本,修复了 NVIDIA Container Toolkit 1.8.0 中发现的 cgroup 支持问题。

包含以下软件包

  • nvidia-container-toolkit 1.8.1

  • libnvidia-container-tools 1.8.1

  • libnvidia-container1 1.8.1

以下是包含的 container-toolkit 容器(请注意,这些容器在 Docker Hub 上也以 nvidia/container-toolkit 提供)

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-centos8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.1nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-ubuntu18.04

以下软件包也已更新,依赖于至少 1.8.1 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.8.1

  • nvidia-docker2 2.9.1

修复和功能#

libnvidia-container 特有#

  • 修复了在嵌套容器中运行时确定 cgroup 根目录的错误

  • 修复了在某些条件下确定 cgroup 版本时的权限问题

NVIDIA Container Toolkit 1.8.0#

此版本的 NVIDIA Container Toolkit 添加了 cgroupv2 支持,并移除了对 Amazon Linux 1 的打包支持。

包含以下软件包

  • nvidia-container-toolkit 1.8.0

  • libnvidia-container-tools 1.8.0

  • libnvidia-container1 1.8.0

以下是包含的 container-toolkit 容器(请注意,这些容器在 Docker Hub 上也以 nvidia/container-toolkit 提供)

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-centos7

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-centos8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-ubi8

  • nvcr.io/nvidia/k8s/container-toolkit:v1.8.0nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-ubuntu18.04

以下软件包也已更新,依赖于至少 1.8.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.8.0

  • nvidia-docker2 2.9.0

打包变更#

  • 不再构建或发布 Amazon Linux 1 的软件包

  • container-toolkit 容器与 NVIDIA Container Toolkit 软件包从同一存储库构建和发布。

修复和功能#

libnvidia-container 特有#

  • 添加 cgroupv2 支持

  • 修复了一个错误,该错误导致 GSP 固件路径以写入权限而不是只读权限挂载

  • nvidia-container-cli list 命令的输出中包含 GSP 固件路径(如果存在)

  • 添加了将 PKS 库注入容器的支持

NVIDIA Container Toolkit 1.7.0#

此版本的 NVIDIA Container Toolkit 允许在 Jetson 设备上安装最新的软件包。包含以下软件包

  • nvidia-container-toolkit 1.7.0

  • libnvidia-container-tools 1.7.0

  • libnvidia-container1 1.7.0

以下软件包也已更新,依赖于至少 1.7.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.7.0

  • nvidia-docker2 2.8.0

打包变更#

  • 在 Ubuntu arm64 发行版上,libnvidia-container-tools 软件包同时依赖于 libnvidia-container0libnvidia-container1,以支持 Jetson 设备

修复和功能#

  • 添加了 supported-driver-capabilities 配置选项,以允许指定所有驱动程序功能的子集

  • 使 v1.6.0 中的修复程序可用于 Jetson 设备,以解决与 Ubuntu 安装上最近的 docker.io 和 containerd.io 更新的不兼容问题(请参阅 NVIDIA/nvidia-container-runtime#157

libnvidia-container 特有#

  • 根据 libnvidia-container 库版本过滤命令行选项

  • 在 CLI 版本输出中包含 libnvidia-container 版本

  • 允许 nvidia-container-cli 在 Jetson 平台上动态加载 libnvidia-container.so.0

NVIDIA Container Toolkit 1.6.0#

此版本的 NVIDIA Container Toolkit 转向统一 NVIDIA 容器堆栈组件的打包。包含以下软件包

  • nvidia-container-toolkit 1.6.0

  • libnvidia-container-tools 1.6.0

  • libnvidia-container1 1.6.0

以下软件包也已更新,依赖于至少 1.6.0 版本的 nvidia-container-toolkit

  • nvidia-container-runtime 3.6.0

  • nvidia-docker2 2.7.0

注意

以上所有软件包都发布到 libnvidia-container 存储库。

注意

2.7.0 版本开始,nvidia-docker2 软件包直接依赖于 nvidia-container-toolkit。这意味着不再需要 nvidia-container-runtime 软件包,并且可以在升级过程中卸载它。

打包变更#

  • nvidia-container-toolkit 软件包现在提供 nvidia-container-runtime 可执行文件

  • nvidia-docker2 软件包现在直接依赖于 nvidia-container-toolkit

  • nvidia-container-runtime 软件包现在是一个与架构无关的元软件包,仅用于为需要此软件包的工作流程定义对 nvidia-container-toolkit 的依赖关系

  • 为所有组件在 AARC64 平台上添加了 Amazon Linux 2 的软件包

修复和功能#

  • 将 NVIDIA Container Runtime 的 OCI 和命令行检查移动到内部 go 软件包 (oci)

  • 将 OCI 运行时规范依赖项更新到 opencontainers/runtime-spec@a3c33d6,以修复覆盖 clone3 syscall 返回值时与 docker 的兼容性问题 [修复了 NVIDIA/nvidia-container-runtime#157]

  • 如果 bundle 路径未指定为 nvidia-container-runtime 的参数,则使用 OCI 规范文件 (config.json) 的相对路径

libnvidia-container 特有#

  • 在 NVIDIA Container Library 中将 nvidia-modprobe 依赖项提升到 495.44,以允许非 root 用户监控 MIG 设备

  • 修复了当主机上不存在 /proc/driver/nvidia 时导致意外挂载错误的错误

已知问题#

在基于 Debian 的系统上安装旧版本 nvidia-container-runtime 时出现依赖错误#

随着 nvidia-container-toolkitnvidia-container-runtime 软件包的 1.6.03.6.0 版本的发布,分别重新组织了一些文件并相应地更新了软件包依赖项。(请参阅 Debian 软件包转换 文档中的案例 10)。

由于这些新的约束,当锁定到 3.6.0 之前的 nvidia-container-runtime 版本时,软件包管理器可能无法正确解析所需的 nvidia-container-toolkit 版本。

这意味着如果使用如下命令

sudo apt-get install nvidia-container-runtime=3.5.0-1

用于安装特定版本的 nvidia-container-runtime 软件包,则可能会失败并显示以下错误消息

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nvidia-container-runtime : Depends: nvidia-container-toolkit (>= 1.5.0) but it is not going to be installed
                            Depends: nvidia-container-toolkit (< 2.0.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

为了解决这个问题,应显式指定 nvidia-container-toolkit 软件包的版本最多为 1.5.1

sudo apt-get install \
    nvidia-container-runtime=3.5.0-1 \
    nvidia-container-toolkit=1.5.1-1

通常,建议将 NVIDIA 容器堆栈的所有组件都锁定到其所需的版本。

对于 nvidia-container-runtime 3.5.0,这些是

  • nvidia-container-toolkit 1.5.1

  • libnvidia-container-tools 1.5.1

  • libnvidia-container1 1.5.1

要锁定以上所有软件包版本,请运行

sudo apt-get install \
    nvidia-container-runtime=3.5.0-1 \
    nvidia-container-toolkit=1.5.1-1 \
    libnvidia-container-tools=1.5.1-1 \
    libnvidia-container1==1.5.1-1

Toolkit Container 1.7.0#

已知问题#

  • container-toolkit:1.7.0-ubuntu18.04 镜像包含 CVE-2021-3711。此 CVE 影响 ubuntu-based CUDA 11.4.1 基础镜像中包含的 libssl1.1openssl。容器中包含的 NVIDIA Container Toolkit 组件不使用 libssl1.1openssl,因此如果容器按预期使用(即在 NVIDIA GPU Operator 的上下文中安装和配置 NVIDIA Container Toolkit),则风险较低。