Release Notes#

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

有关每个版本中包含的软件组件和版本的列表,请参阅 GPU Operator 组件矩阵

Note

GPU Operator Beta 版本记录在 GitHub 上。NVIDIA AI Enterprise 构建版本未发布在 GitHub 上。


24.9.2#

New Features#

24.9.1#

New Features#

Fixed Issues#

  • 修复了 NVIDIA Container Toolkit 无法在 Rancher RKE2、K3s 和 Canonical MicroK8s 上启动的问题。有关更多详细信息,请参阅 Github issue #1109

  • 修复了 NVIDIA 驱动程序升级控制器未生成事件的问题。有关更多详细信息,请参阅 Github issue #1101

24.9.0#

New Features#

  • 此版本增加了对 NVIDIA Container Toolkit 1.17.0 的支持。此版本包含以下 CVE 的更新:

    要查看 NVIDIA 产品的任何已发布安全公告,请参阅 NVIDIA 产品安全页面:https://www.nvidia.com/zh-cn/security/

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

    对于 Rancher RKE2 和 K3s,请参阅 已知限制

  • 增加了对 NVIDIA Data Center GPU Driver 550.127.05 版本的支持。有关更多详细信息,请参阅平台支持页面上的 GPU Operator 组件矩阵

  • 增加了对以下软件组件版本的支持:

    • NVIDIA Container Toolkit v1.17.0

    • NVIDIA Driver Manager for Kubernetes v0.7.0

    • NVIDIA Kubernetes Device Plugin v0.17.0

    • NVIDIA DCGM Exporter v3.3.8-3.6.0

    • NVIDIA DCGM v3.3.8-1

    • Node Feature Discovery v0.16.6

    • NVIDIA GPU Feature Discovery for Kubernetes v0.17.0

    • NVIDIA MIG Manager for Kubernetes v0.10.0

    • NVIDIA KubeVirt GPU Device Plugin v1.2.10

    • NVIDIA vGPU Device Manager v0.2.8

    • NVIDIA GDS Driver v2.20.5

    • NVIDIA Kata Manager for Kubernetes v0.2.2

  • 增加了对 NVIDIA Network Operator v24.7.0 的支持。请参阅 GPUDirect RDMA 支持GPUDirect Storage 支持

  • 增加了对预编译驱动程序容器的正式发布 (GA) 支持。此功能以前是技术预览功能。有关更多信息,请参阅 预编译驱动程序容器

  • 默认情况下,启用自动升级 Operator 和 Node Feature Discovery CRD。在以前的版本中,operator.upgradeCRD 字段为 false。此版本将默认值设置为 true,并在您升级 Operator 时自动运行 Helm Hook。有关更多信息,请参阅 选项 2:使用 Helm Hook 自动升级 CRD

  • 增加了对使用 GH200 NVL2 144GB HBM3e 的新 MIG 配置文件的支持。

    • 增加了对以下配置文件的支持:

      • 1g.18gb

      • 1g.18gb+me

      • 1g.36gb

      • 2g.36gb

      • 3g.72gb

      • 4g.72gb

      • 7g.144gb

    • 添加了一个 all-balanced 配置文件,用于创建以下 GPU 实例:

      • 1g.18gb \(\times\) 2

      • 2g.36gb \(\times\) 1

      • 3g.72gb \(\times\) 1

  • 增加了对 KubeVirt 和 OpenShift Virtualization 与 vGPU v17.4 for A30、A100 和 H100 GPU 的支持。这些 GPU 仅在 NVIDIA AI Enterprise 订阅中受支持,并且需要使用 aie .run 文件构建 NVIDIA vGPU Manager 容器镜像。

  • 修订了 Operator 的角色和基于角色的访问控制。Operator 经过修订,可以使用 Kubernetes controller-runtime 缓存,该缓存仅限于 Operator 命名空间和 OpenShift 命名空间 openshift。OpenShift 命名空间是 Operator 监视镜像流对象更改所必需的。将缓存限制为特定命名空间使 Operator 可以使用命名空间作用域角色 gpu-operator,而不是集群角色来监视 Operator 命名空间中资源的更改。此更改遵循最小特权原则,并提高了 Operator 的安全态势。

  • 增强了 GPU 驱动程序容器,以从节点主机名设置 NODE_NAME 环境变量,并从节点主机 IP 地址设置 NODE_IP 环境变量。

Fixed Issues#

  • 修复了由 Helm Hook 触发的清理 CRD 和升级 CRD 作业的问题。在具有污点的节点的集群上,即使 operator.tolerations 包含容忍度,作业也不会被调度。在此版本中,您为 Operator 指定的容忍度将应用于作业。有关 Hook 的更多信息,请参阅 选项 2:使用 Helm Hook 自动升级 CRD

  • 修复了在使用 CRI-O 的节点上配置 NVIDIA Container Toolkit 以使用 CDI 的问题。以前,即使 runc 不是默认运行时,Toolkit 也可以使用 nvidia 运行时处理程序配置 runc 处理程序,并导致 CRI-O 崩溃。在此版本中,Toolkit 通过运行 crio status config 确定默认运行时,并使用 nvidia 运行时处理程序配置该运行时。

Known Limitations#

  • 在 Rancher RKE2 和 K3s 上,NVIDIA Container Toolkit v1.17.0 无法启动。Toolkit 尝试运行 containerd config dump 以确定主机上的容器运行时配置。在这些平台上,containerd 可执行文件不在 PATH 中,并导致错误。

    NVIDIA 建议在安装或升级 Operator 时安装 Toolkit v1.17.1。您可以将 --set toolkit.version=v1.17.1-ubuntu20.04v1.17.1-ubi8 参数指定给 Helm。

24.6.2#

New Features#

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

此版本增加了对 NVIDIA Container Toolkit 1.16.2 的支持。此版本包含以下 CVE 的更新:

要查看 NVIDIA 产品的任何已发布安全公告,请参阅 NVIDIA 产品安全页面:https://www.nvidia.com/zh-cn/security/

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

24.6.1#

New Features#

  • 增加了对以下软件组件版本的支持:

    • NVIDIA Kubernetes Device Plugin v0.16.2

    • NVIDIA GPU Feature Discovery for Kubernetes v0.16.2

    请参阅平台支持页面上的 GPU Operator 组件矩阵

Fixed Issues#

  • 修复了基于角色的访问控制阻止服务帐户访问 Config Map 的问题。有关更多详细信息,请参阅 Github issue #883

  • 修复了 GPU Operator 验证器中基于角色的访问控制阻止检索 NVIDIA Driver DaemonSet 信息的问题。在 OpenShift Container Platform 上,此问题触发了 GPUOperatorNodeDeploymentDriverFailed 警报。有关更多详细信息,请参阅 Github issue #892

24.6.0#

New Features#

  • 增加了对 NVIDIA Data Center GPU Driver 550.90.07 版本的支持。有关更多详细信息,请参阅平台支持页面上的 GPU Operator 组件矩阵

  • 增加了对以下软件组件版本的支持:

    • NVIDIA Container Toolkit v1.16.1

    • NVIDIA Driver Manager for Kubernetes v0.6.10

    • NVIDIA Kubernetes Device Plugin v0.16.1

    • NVIDIA DCGM Exporter v3.3.7-3.5.0

    • NVIDIA DCGM v3.3.7-1

    • Node Feature Discovery v0.16.3

    • NVIDIA GPU Feature Discovery for Kubernetes v0.16.1

    • NVIDIA MIG Manager for Kubernetes v0.8.0

    • NVIDIA KubeVirt GPU Device Plugin v1.2.9

    • NVIDIA vGPU Device Manager v0.2.7

    • NVIDIA GDS Driver v2.17.5

    • NVIDIA Kata Manager for Kubernetes v0.2.1

    • NVIDIA GDRCopy Driver v2.4.1-1

  • 增加了对 NVIDIA Network Operator v24.4.0 的支持。请参阅 GPUDirect RDMA 支持GPUDirect Storage 支持

  • 增加了对在 Google Kubernetes Engine (GKE) 上使用 Container-Optimized OS 的 Operator 的支持。该过程使用 Google 驱动程序安装程序来管理 NVIDIA GPU Driver。对于 GKE 上的 Ubuntu,您可以使用 Google 驱动程序安装程序,或继续使用 NVIDIA Driver Manager,就像以前的版本一样。有关更多信息,请参阅 NVIDIA GPU Operator 与 Google GKE

  • 增加了对使用 Open Kernel 模块驱动程序的预编译驱动程序容器的支持。当您安装或升级 Operator 时,请指定 --set driver.useOpenKernelModules=true --set driver.usePrecompiled=true --set driver.version=<driver-branch>。支持仍然仅限于 Ubuntu 22.04。有关更多信息,请参阅 预编译驱动程序容器

    NVIDIA 于 2024 年 7 月 15 日开始发布具有此支持的驱动程序容器。具有此支持的第一个容器的标签如下:

    • <driver-branch>-5.15.0-116-generic-ubuntu22.04

    • <driver-branch>-5.15.0-1060-nvidia-ubuntu22.04

    • <driver-branch>-5.15.0-1063-oracle-ubuntu22.04

    • <driver-branch>-5.15.0-1068-azure-ubuntu22.04

    • <driver-branch>-5.15.0-1065-aws-ubuntu22.04

    7 月 15 日之后构建的预编译驱动程序容器包括对 Open Kernel 模块驱动程序的支持。

  • 增加了对新 MIG 配置文件的支持。

    • 对于 H200 设备:

      • 1g.18gb

      • 1g.18gb+me

      • 1g.35gb

      • 2g.35gb

      • 3g.71gb

      • 4g.71gb

      • 7g.141gb

    • 添加了一个 all-balanced 配置文件,用于 H20 设备,该配置文件创建以下 GPU 实例:

      • 1g.12gb \(\times\) 2

      • 2g.24gb \(\times\) 1

      • 3g.48gb \(\times\) 1

  • 增加了对在安装或升级期间使用 Helm 创建具有自定义 MIG 配置文件的 Config Map 的支持。有关更多信息,请参阅 示例:安装期间的自定义 MIG 配置

Fixed Issues#

  • 审查并修订了以下组件的基于角色的访问控制,以使用最小必需权限:

    • GPU Operator

    • Operator Validator

    • MIG Manager

    • GPU Driver Manager

    • GPU Feature Discovery

    • Kubernetes Device Plugin

    • KubeVirt Device Plugin

    • vGPU Host Manager

    在以前的版本中,权限比必要的更宽松。

  • 修复了 Node Feature Discovery (NFD) 的问题。当 NFD Pod 被删除或重新启动时,所有 NFD 节点标签都从节点中删除,并且 GPU Operator 操作数重新启动。NFD 的 v0.16.2 版本修复了此问题。有关更多详细信息,请参阅 Github issue #782

  • 修复了 NVIDIA vGPU Manager 在需要 Open Kernel 模块驱动程序和 GPU 系统处理器 (GSP) 固件的 GPU 节点上无法正常工作的问题。有关更多详细信息,请参阅 Github issue #761

  • DGCM 已修订为使用集群 IP 和将内部流量策略设置为 Local 的服务。在以前的版本中,DCGM 是主机联网的 Pod。NVIDIA 集群策略资源的 dcgm.hostPort 字段现已弃用。

  • 修复了阻止使用 NVIDIA Driver 自定义资源启用 GDRCopy 和其他卷挂载的问题。以前,驱动程序 DaemonSet 未随更改更新,并且 Operator 日志包含错误消息。有关更多详细信息,请参阅 Github issue #713

  • 修复了由于计划外 Pod 而不是零 Pod 导致删除 GPU Driver DaemonSet 的问题。以前,如果节点具有不受容忍的污点(例如 node.kubernetes.io/unreachable:NoSchedule),则 Operator 可能会重复删除和重新创建驱动程序 DaemonSet。有关更多详细信息,请参阅 Github issue #715

  • 修复了从 KubeVirt GPU Device Plugin 报告正确的 GPU 容量和可分配资源的问题。以前,如果 GPU 变得不可用,则报告的 GPU 容量和可分配资源保持不变。有关更多详细信息,请参阅 Github issue #97

Known Limitations#

  • 当 MIG 配置设置为 all-balanced 时,1g.12gb MIG 配置文件在 NVIDIA GH200 GPU 上无法按预期运行。

  • 由于容器内缺少 kernel-headers 软件包,GPU Driver 容器无法在具有 SEV-SNP CPU 功能的自定义内核的主机上运行。对于自定义内核,如果您想使用 NVIDIA GPU 运行传统的容器工作负载,NVIDIA 建议在主机上预安装 NVIDIA 驱动程序。

  • 如果在 GPU 驱动程序升级过程已在进行中时隔离节点,则 Operator 将取消隔离该节点并在该节点上升级驱动程序。您可以通过检查节点标签 nvidia.com/gpu-driver-upgrade-state != upgrade-done 来确定升级是否正在进行中。

  • NVIDIA vGPU 与 KubeVirt v0.58.0、v0.58.1 和 v0.59.0 以及 OpenShift Virtualization 4.12.0—4.12.2 不兼容。

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • Kubernetes 集群中的所有工作节点必须运行相同的操作系统版本才能使用 NVIDIA GPU Driver 容器。或者,如果您在节点上预安装 NVIDIA GPU Driver,则可以运行不同的操作系统。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能也是一种替代方案。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能是一种替代方案。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 当在主机级别使用 RHEL 8 并以 containerd 作为运行时且 SELinux 已启用(处于 permissive 或 enforcing 模式)时,也必须为 SELinux 配置 containerd,例如设置 enable_selinux=true 配置选项。此外,不支持网络受限环境。

24.3.0#

New Features#

  • 增加了启用 NVIDIA GDRCopy v2.4.1 的支持。

    当您启用对 GDRCopy 的支持时,Operator 会将 GDRCopy Driver 容器镜像配置为 GPU 驱动程序 Pod 中的 Sidecar 容器。Sidecar 容器编译并安装 gdrdrv Linux 内核模块。Ubuntu 22.04 和 RHCOS 操作系统以及 X86_64 和 ARM64 架构支持此功能。

    有关 driver.gdrcopy 字段的更多信息,请参阅 常用 Chart 自定义选项

  • 增加了对 NVIDIA Data Center GPU Driver 550.54.15 版本的支持。有关更多详细信息,请参阅平台支持页面上的 GPU Operator 组件矩阵

  • 增加了对以下软件组件版本的支持:

    • NVIDIA Container Toolkit 版本 v1.15.0

    • NVIDIA MIG Manager 版本 v0.7.0

    • NVIDIA Driver Manager for K8s v0.6.8

    • NVIDIA Kubernetes Device Plugin v0.15.0

    • DCGM 3.3.5-1

    • DCGM Exporter 3.3.5-3.4.1

    • Node Feature Discovery v0.15.4

    • NVIDIA GPU Feature Discovery for Kubernetes v0.15.0

    • NVIDIA KubeVirt GPU Device Plugin v1.2.7

    • NVIDIA vGPU Device Manager v0.2.6

    • NVIDIA Kata Manager for Kubernetes v0.2.0

  • 增加了对 Kubernetes v1.29 和 v1.30 的支持。请参阅 支持的操作系统和 Kubernetes 平台

  • 增加了对 NVIDIA GH200 Grace Hopper Superchip 作为正式发布功能的普遍可用性支持。请参阅 支持的 NVIDIA Data Center GPU 和系统

    以下是在 GH200 上使用 Operator 所需的先决条件:

    • 运行 Ubuntu 22.04、550.54.15 GPU 驱动程序和 NVIDIA Linux 内核,例如 linux-nvidia-<x.x> 软件包提供的内核。

    • init_on_alloc=0memhp_default_state=online_movable 添加为 Linux 内核启动参数。

    • 运行 NVIDIA Open GPU Kernel 模块驱动程序。

  • 增加了对 NVIDIA Network Operator v24.1.1 的支持。请参阅 GPUDirect RDMA 支持GPUDirect Storage 支持

  • 增加了对配置为使用独立 GPU 的 NVIDIA IGX Orin 平台的支持。请参阅 支持的基于 ARM 的平台

  • 删除了对 Kubernetes Pod Security Policy (PSP) 的支持。PSP 在 Kubernetes v1.21 版本中已弃用,并在 v1.25 中删除。

Fixed Issues#

  • 在 Red Hat OpenShift Container Platform 4.15 上的安装不再需要与集成镜像注册表的密钥和存储相关的解决方法。

  • 以前,如果在 /sys/class/mdev_bus 中未找到 NVIDIA 设备,vGPU Device Manager 将会崩溃。

  • 以前,MOFED 验证 Init 容器将为 GPU 驱动程序 Pod 运行。在此版本中,Init 容器不再运行,因为 MOFED 安装检查由 Kubernetes Driver Manager Init 容器执行。

  • 以前,对于 Red Hat OpenShift Container Platform,当 Linux 内核版本与 /etc/os-release 文件不匹配时,GPU 驱动程序安装将失败。在此版本中,内核版本是从正在运行的内核确定的,以防止出现此问题。有关更多详细信息,请参阅 Github issue #617

  • 以前,如果 DCGM Exporter 的指标在 Config Map 中配置,并且集群策略在 DCGM_EXPORTER_CONFIGMAP_DATA 环境变量中将 Config Map 的名称指定为 <namespace>:<config-map>,则 Exporter Pod 无法从 Config Map 中读取配置。在此版本中,Exporter 使用的角色被授予从 Config Map 读取的权限。

  • 以前,在负载下,Operator 可能会失败,并显示消息 fatal error: concurrent map read and map write。在此版本中,Operator 控制器已重构以防止竞争条件。有关更多详细信息,请参阅 Github issue #689

  • 以前,如果集群中的任何节点处于 NotReady 状态,则 GPU 驱动程序升级控制器将无法取得进展。在此版本中,升级库已更新并跳过不健康的节点。有关更多详细信息,请参阅 Github issue #688

Known Limitations#

  • NVIDIA vGPU Manager 在需要 Open Kernel 模块驱动程序和 GPU 系统处理器 (GSP) 固件的 GPU 节点上无法正常工作。vGPU Device Manager Pod 的日志包含如下示例行:

    time="2024-07-23T08:50:11Z" level=fatal msg="error setting VGPU config: no parent devices found for GPU at index '1'"
    time="2024-07-23T08:50:11Z" level=error msg="Failed to apply vGPU config: unable to apply config 'default': exit status 1"
    time="2024-07-23T08:50:11Z" level=info msg="Setting node label: nvidia.com/vgpu.config.state=failed"
    time="2024-07-23T08:50:11Z" level=info msg="Waiting for change to 'nvidia.com/vgpu.config' label"
    

    kubectl exec -it nvidia-vgpu-manager-daemonset-xxxxx -n gpu-operator -- bash -c 'dmesg | grep -i nvrm' 命令的输出类似于以下示例:

    kernel: NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64  550.90.05  Release Build  (dvs-builder@U16-I1-N08-05-1)
    kernel: NVRM: RmFetchGspRmImages: No firmware image found
    kernel: NVRM: GPU 0000:ae:00.0: RmInitAdapter failed! (0x61:0x56:1697)
    kernel: NVRM: GPU 0000:ae:00.0: rm_init_adapter failed, device minor number 0
    

    vGPU Manager Pod 未挂载主机上的 /sys/module/firmware_class/parameters/path/lib/firmware 路径,并且 Pod 无法复制主机上的 GSP 固件文件。

    作为一种解决方法,您可以将以下卷挂载添加到 nvidia-vgpu-manager-ctr 容器的 vGPU Manager DaemonSet 中:

    - name: firmware-search-path
      mountPath: /sys/module/firmware_class/parameters/path
    - name: nv-firmware
      mountPath: /lib/firmware
    

    此问题将在 GPU Operator 的下一个版本中修复。

  • 当 MIG 配置设置为 all-balanced 时,1g.12gb MIG 配置文件在 NVIDIA GH200 GPU 上无法按预期运行。

  • 由于容器内缺少 kernel-headers 软件包,GPU Driver 容器无法在具有 SEV-SNP CPU 功能的自定义内核的主机上运行。对于自定义内核,如果您想使用 NVIDIA GPU 运行传统的容器工作负载,NVIDIA 建议在主机上预安装 NVIDIA 驱动程序。

  • 如果在 GPU 驱动程序升级过程已在进行中时隔离节点,则 Operator 将取消隔离该节点并在该节点上升级驱动程序。您可以通过检查节点标签 nvidia.com/gpu-driver-upgrade-state != upgrade-done 来确定升级是否正在进行中。

  • NVIDIA vGPU 与 KubeVirt v0.58.0、v0.58.1 和 v0.59.0 以及 OpenShift Virtualization 4.12.0—4.12.2 不兼容。

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • 在 Amazon EKS 上安装 Operator 且 Kubernetes 版本低于 1.25 时,请指定 Helm 参数 --set psp.enabled=true,因为 EKS 启用了 Pod 安全策略 (PSP)。如果您使用 Kubernetes 版本 1.25 或更高版本,请勿指定 psp.enabled 参数,以便使用默认值 false

  • Kubernetes 集群中的所有工作节点必须运行相同的操作系统版本才能使用 NVIDIA GPU Driver 容器。或者,如果您在节点上预安装 NVIDIA GPU Driver,则可以运行不同的操作系统。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能也是一种替代方案。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能是一种替代方案。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 当在主机级别使用 RHEL 8 并以 containerd 作为运行时且 SELinux 已启用(处于 permissive 或 enforcing 模式)时,也必须为 SELinux 配置 containerd,例如设置 enable_selinux=true 配置选项。此外,不支持网络受限环境。

23.9.2#

新特性#

  • 新增对 NVIDIA Data Center GPU Driver 550.54.14 版本的支持。请参阅平台支持页面上的 GPU Operator 组件矩阵

  • 新增对 Kubernetes v1.29 的支持。请参阅平台支持页面上的 支持的操作系统和 Kubernetes 平台

  • 新增对 Red Hat OpenShift Container Platform 4.15 的支持。请参阅平台支持页面上的 支持的操作系统和 Kubernetes 平台

  • 增加了对以下软件组件版本的支持:

    • NVIDIA Data Center GPU Driver 版本 550.54.14

    • NVIDIA Container Toolkit 版本 v1.14.6

    • NVIDIA Kubernetes Device Plugin 版本 v1.14.5

    • NVIDIA MIG Manager 版本 v0.6.0

  • 新增对 NVIDIA AI Enterprise 版本 5.0 的支持。有关使用 Bash 脚本安装 Operator 的信息,请参阅 NVIDIA AI Enterprise

已修复问题#

  • 之前,重复的镜像拉取密钥被添加到某些守护程序集中,并在删除节点且控制器管理器删除了 Pod 时导致如下错误。

    I1031 00:09:44.553742       1 gc_controller.go:329] "PodGC is force deleting Pod" pod="gpu-operator/nvidia-driver-daemonset-k69f2"
    E1031 00:09:44.556500       1 gc_controller.go:255] failed to create manager for existing fields: failed to convert new object (gpu-operator/nvidia-driver-daemonset-k69f2; /v1, Kind=Pod) to smd typed: .spec.imagePullSecrets: duplicate entries for key [name="ngc-secret"]
    
  • 之前,在 ClusterPolicy 中配置的通用守护程序集标签、注解和容忍度也未应用于默认的 NVIDIADriver CR 实例。有关更多详细信息,请参阅 Github issue #665

  • 之前,技术预览 NVIDIA 驱动程序自定义资源无法呈现许可 vGPU 访客驱动程序所需的 licensing-config 卷挂载。有关更多详细信息,请参阅 Github issue #672

  • 之前,启用 GDS 时,技术预览 NVIDIA 驱动程序自定义资源已损坏。OS 后缀未附加到 GDS 驱动程序容器镜像的镜像路径。有关更多详细信息,请参阅 GitHub issue #608

  • 之前,当配置了主机路径卷的 additionalConfig 卷时,技术预览 NVIDIA 驱动程序自定义资源无法呈现守护程序集。此问题阻止用户在 RHEL 系统上挂载授权。

  • 之前,无法禁用 operator-validator Pod 部署的 CUDA 工作负载验证 Pod。您现在可以通过在 ClusterPolicy 中设置以下环境变量来禁用此 Pod

    validator:
      cuda:
        env:
        - name: "WITH_WORKLOAD"
          value: "false"
    

已知限制#

  • 在禁用集成镜像注册表的 Red Hat OpenShift Container Platform 4.15 集群上安装时,密钥不再自动生成,此更改会导致 Operator 安装停滞。有关更多信息,请参阅 OpenShift 4.15 的特殊注意事项

  • 当 MIG 配置设置为 all-balanced 时,1g.12gb MIG 配置文件在 NVIDIA GH200 GPU 上无法按预期运行。

  • 由于容器内缺少 kernel-headers 软件包,GPU Driver 容器无法在具有 SEV-SNP CPU 功能的自定义内核的主机上运行。对于自定义内核,如果您想使用 NVIDIA GPU 运行传统的容器工作负载,NVIDIA 建议在主机上预安装 NVIDIA 驱动程序。

  • 如果在 GPU 驱动程序升级过程已在进行中时隔离节点,则 Operator 将取消隔离该节点并在该节点上升级驱动程序。您可以通过检查节点标签 nvidia.com/gpu-driver-upgrade-state != upgrade-done 来确定升级是否正在进行中。

  • NVIDIA vGPU 与 KubeVirt v0.58.0、v0.58.1 和 v0.59.0 以及 OpenShift Virtualization 4.12.0—4.12.2 不兼容。

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • 在 Amazon EKS 上安装 Operator 且 Kubernetes 版本低于 1.25 时,请指定 Helm 参数 --set psp.enabled=true,因为 EKS 启用了 Pod 安全策略 (PSP)。如果您使用 Kubernetes 版本 1.25 或更高版本,请勿指定 psp.enabled 参数,以便使用默认值 false

  • Kubernetes 集群中的所有工作节点必须运行相同的操作系统版本才能使用 NVIDIA GPU Driver 容器。或者,如果您在节点上预安装 NVIDIA GPU Driver,则可以运行不同的操作系统。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能也是一种替代方案。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能是一种替代方案。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 当在主机级别使用 RHEL 8 并以 containerd 作为运行时且 SELinux 已启用(处于 permissive 或 enforcing 模式)时,也必须为 SELinux 配置 containerd,例如设置 enable_selinux=true 配置选项。此外,不支持网络受限环境。

23.9.1#

新特性#

  • 新增对 NVIDIA GH200 Grace Hopper Superchip 的技术预览功能支持。请参阅 支持的 NVIDIA 数据中心 GPU 和系统

    以下是在 GH200 上使用 Operator 所需的先决条件:

    • 运行 Ubuntu 22.04 和 NVIDIA Linux 内核,例如使用 linux-nvidia-<x.x> 软件包提供的内核。

    • init_on_alloc=0memhp_default_state=online_movable 添加为 Linux 内核启动参数。

    • 运行 NVIDIA Open GPU Kernel 模块驱动程序。

  • 新增对配置驱动程序容器以使用 NVIDIA Open GPU Kernel module driver 的支持。支持仅限于使用 runfile 安装程序进行安装。不支持使用开放内核模块的预编译驱动程序容器。

    对于使用 GPUDirect Storage (GDS) 的集群,从 CUDA toolkit 12.2.2 和 NVIDIA GPUDirect Storage kernel driver v2.17.5 版本开始,仅支持开放内核模块。

    NVIDIA GH200 Grace Hopper Superchip 系统仅支持开放内核模块。

    • 有关设置 useOpenKernelModules 的信息(如果您使用 NVIDIA 集群策略自定义资源定义管理驱动程序容器),请参阅 常用 Chart 自定义选项

    • 有关设置 spec.useOpenKernelModules 的信息(如果您使用技术预览 NVIDIA 驱动程序自定义资源管理驱动程序容器),请参阅 NVIDIA GPU 驱动程序自定义资源定义

  • 增加了对以下软件组件版本的支持:

    • NVIDIA Data Center GPU Driver 版本 535.129.03

    • NVIDIA Driver Manager for Kubernetes v0.6.5

    • NVIDIA Kubernetes Device Plugin v1.14.3

    • NVIDIA DCGM Exporter 3.3.0-3.2.0

    • NVIDIA Data Center GPU Manager (DCGM) v3.3.0-1

    • NVIDIA KubeVirt GPU Device Plugin v1.2.4

    • NVIDIA GPUDirect Storage (GDS) Driver v2.17.5

      重要提示

      此版本和更新版本的 NVIDIA GDS 内核驱动程序要求您使用 NVIDIA 开放内核模块。

    请参阅平台支持页面上的 GPU Operator 组件矩阵

  • 新增对 NVIDIA Network Operator v23.10.0 的支持。

改进#

  • 用于支持的 must-gather.sh 脚本已增强,可以从 NVIDIA vGPU Manager Pod 收集日志。

已修复问题#

  • 之前,技术预览 NVIDIA 驱动程序自定义资源不支持将自定义标签、注解或容忍度添加到作为驱动程序守护程序集一部分运行的 Pod。此限制阻止在某些环境中调度驱动程序守护程序集。有关更多详细信息,请参阅 GitHub issue #602

  • 之前,当您为 helm upgrade 命令指定 operator.upgradeCRD=true 参数时,预升级 Hook 使用通过运行 helm install 添加的 gpu-operator 服务帐户运行。对于 Argo CD 用户来说,此依赖项是一个已知问题。Argo CD 将预安装和预升级 Hook 视为与预同步 Hook 相同,并导致失败,因为 Hook 依赖于初始安装时不存在的 gpu-operator 服务帐户。

    现在,Operator 已增强,可以使用新的服务帐户 gpu-operator-upgrade-crd-hook-sa 运行 Hook。此修复程序创建了新的服务帐户、新的集群角色和新的集群角色绑定。此更新可防止 Argo CD 出现故障。

  • 之前,添加节点选择器与另一个驱动程序自定义资源冲突的 NVIDIA 驱动程序自定义资源时,控制器无法在自定义资源状态中设置错误条件。此问题产生了如下示例错误消息

    {"level":"error","ts":1698702848.8472972,"msg":"NVIDIADriver.nvidia.com \"<conflicting-cr-name>"\" is invalid: state: Unsupported value: \"\": supported values: \"ignored\", \"ready\", \"notReady\"","controller":"nvidia-driver-\
    controller","object":{"name":"<conflicting-cr-name>"},"namespace":"","name":"<conflicting-cr-name>","reconcileID":"78d58d7b-cd94-4849-a292-391da9a0b049"}
    
  • 之前,NVIDIA KubeVirt GPU Device Plugin 可能会出现 GLIBC 不匹配错误,并生成如下示例日志消息

    nvidia-kubevirt-gpu-device-plugin: /lib64/libc.so.6: version `GLIBC_2.32` not found (required by nvidia-kubevirt-gpu-device-plugin)
    

    此问题已通过在此版本中包含 v1.2.4 版本的插件得到修复。

  • 之前,在某些机器和 Linux 内核版本上,GPU Feature Discovery 无法确定机器类型,因为主机上不存在 /sys/class/dmi/id/product_name 文件。现在,访问该文件是通过挂载 /sys 而不是完全限定路径来执行的,如果该文件不存在,GPU Feature Discovery 能够使用 nvidia.com/gpu.machine=unknown 标记节点。

  • 之前,在 Red Hat OpenShift Container Platform 集群上启用 GPUDirect RDMA 可能会导致 nvidia-peermem 容器出现错误。该错误与 RHEL_VERSION 变量未绑定有关。

已知限制#

  • 当 MIG 配置设置为 all-balanced 时,1g.12gb MIG 配置文件在 NVIDIA GH200 GPU 上无法按预期运行。

  • 由于容器内缺少 kernel-headers 软件包,GPU Driver 容器无法在具有 SEV-SNP CPU 功能的自定义内核的主机上运行。对于自定义内核,如果您想使用 NVIDIA GPU 运行传统的容器工作负载,NVIDIA 建议在主机上预安装 NVIDIA 驱动程序。

  • 如果在 GPU 驱动程序升级过程已在进行中时隔离节点,则 Operator 将取消隔离该节点并在该节点上升级驱动程序。您可以通过检查节点标签 nvidia.com/gpu-driver-upgrade-state != upgrade-done 来确定升级是否正在进行中。

  • NVIDIA vGPU 与 KubeVirt v0.58.0、v0.58.1 和 v0.59.0 以及 OpenShift Virtualization 4.12.0—4.12.2 不兼容。

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • 在 Amazon EKS 上安装 Operator 且 Kubernetes 版本低于 1.25 时,请指定 Helm 参数 --set psp.enabled=true,因为 EKS 启用了 Pod 安全策略 (PSP)。如果您使用 Kubernetes 版本 1.25 或更高版本,请勿指定 psp.enabled 参数,以便使用默认值 false

  • Kubernetes 集群中的所有工作节点必须运行相同的操作系统版本才能使用 NVIDIA GPU Driver 容器。或者,如果您在节点上预安装 NVIDIA GPU Driver,则可以运行不同的操作系统。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能也是一种替代方案。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能是一种替代方案。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 当在主机级别使用 RHEL 8 并以 containerd 作为运行时且 SELinux 已启用(处于 permissive 或 enforcing 模式)时,也必须为 SELinux 配置 containerd,例如设置 enable_selinux=true 配置选项。此外,不支持网络受限环境。

23.9.0#

新特性#

  • 新增对 NVIDIA 驱动程序自定义资源定义的支持,该定义支持在同一集群上运行多个 GPU 驱动程序类型和版本,并增加对多个操作系统版本的支持。此功能是一项技术预览。有关更多信息,请参阅 NVIDIA GPU 驱动程序自定义资源定义

  • 为预编译驱动程序容器新增了对其他 Linux 内核变体的支持。

    • driver:535-5.15.0-xxxx-nvidia-ubuntu22.04

    • driver:535-5.15.0-xxxx-azure-ubuntu22.04

    • driver:535-5.15.0-xxxx-aws-ubuntu22.04

    请参阅 NGC 目录中 NVIDIA GPU Driver 页面上的 Tags 选项卡,以确定是否为您的内核构建了容器。有关使用预编译驱动程序容器以及构建自己的驱动程序容器的步骤的信息,请参阅 预编译驱动程序容器

  • NVIDIA 集群策略自定义资源定义的 API 得到增强,包含集群策略的当前状态。当您使用 kubectl get cluster-policy 之类的命令查看集群策略时,响应现在包含 Status.Conditions 字段。

  • 增加了对以下软件组件版本的支持:

    • NVIDIA Data Center GPU Driver 版本 535.104.12。

    • NVIDIA Driver Manager for Kubernetes v0.6.4

    • NVIDIA Container Toolkit v1.14.3

    • NVIDIA Kubernetes Device Plugin v1.14.2

    • NVIDIA DCGM Exporter 3.2.6-3.1.9

    • NVIDIA GPU Feature Discovery for Kubernetes v0.8.2

    • NVIDIA MIG Manager for Kubernetes v0.5.5

    • NVIDIA Data Center GPU Manager (DCGM) v3.2.6-1

    • NVIDIA KubeVirt GPU Device Plugin v1.2.3

    • NVIDIA vGPU Device Manager v0.2.4

    • NVIDIA Kata Manager for Kubernetes v0.1.2

    • NVIDIA Confidential Computing Manager for Kubernetes v0.1.1

    • Node Feature Discovery v0.14.2

    请参阅平台支持页面上的 GPU Operator 组件矩阵

已修复问题#

  • 之前,如果为 Operator 设置了 RHEL_VERSION 环境变量,则该变量会传播到驱动程序容器,并在 dnf 命令中用于 --releasever 参数。在此版本中,您可以为驱动程序容器指定 DNF_RELEASEVER 环境变量,以覆盖 --releasever 参数的值。

  • 之前,在从集群中删除节点后,过时的节点特性和节点特性拓扑对象可能仍保留在 Kubernetes API 服务器中。Node Feature Discovery v0.14.2 的升级包含垃圾回收方面的增强功能,可确保在删除节点后移除这些对象。

已知限制#

  • 由于容器内缺少 kernel-headers 软件包,GPU Driver 容器无法在具有 SEV-SNP CPU 功能的自定义内核的主机上运行。对于自定义内核,如果您想使用 NVIDIA GPU 运行传统的容器工作负载,NVIDIA 建议在主机上预安装 NVIDIA 驱动程序。

  • 如果在 GPU 驱动程序升级过程已在进行中时隔离节点,则 Operator 将取消隔离该节点并在该节点上升级驱动程序。您可以通过检查节点标签 nvidia.com/gpu-driver-upgrade-state != upgrade-done 来确定升级是否正在进行中。

  • NVIDIA vGPU 与 KubeVirt v0.58.0、v0.58.1 和 v0.59.0 以及 OpenShift Virtualization 4.12.0—4.12.2 不兼容。

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • 在 Amazon EKS 上安装 Operator 且 Kubernetes 版本低于 1.25 时,请指定 Helm 参数 --set psp.enabled=true,因为 EKS 启用了 Pod 安全策略 (PSP)。如果您使用 Kubernetes 版本 1.25 或更高版本,请勿指定 psp.enabled 参数,以便使用默认值 false

  • Kubernetes 集群中的所有工作节点必须运行相同的操作系统版本才能使用 NVIDIA GPU Driver 容器。或者,如果您在节点上预安装 NVIDIA GPU Driver,则可以运行不同的操作系统。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能也是一种替代方案。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。提供 NVIDIA GPU Driver 自定义资源定义 的技术预览功能是一种替代方案。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 当在主机级别使用 RHEL 8 并以 containerd 作为运行时且 SELinux 已启用(处于 permissive 或 enforcing 模式)时,也必须为 SELinux 配置 containerd,例如设置 enable_selinux=true 配置选项。此外,不支持网络受限环境。

23.6.2#

此补丁版本向后移植了 v23.9.1 版本中引入的修复程序。

已修复问题#

  • 之前,当您为 helm upgrade 命令指定 operator.upgradeCRD=true 参数时,预升级 Hook 使用通过运行 helm install 添加的 gpu-operator 服务帐户运行。对于 Argo CD 用户来说,此依赖项是一个已知问题。Argo CD 将预安装和预升级 Hook 视为与预同步 Hook 相同,并导致失败,因为 Hook 依赖于初始安装时不存在的 gpu-operator 服务帐户。

    现在,Operator 已增强,可以使用新的服务帐户 gpu-operator-upgrade-crd-hook-sa 运行 Hook。此修复程序创建了新的服务帐户、新的集群角色和新的集群角色绑定。此更新可防止 Argo CD 出现故障。

23.6.1#

新特性#

  • 新增对 NVIDIA L40S GPU 的支持。

  • 新增对 NVIDIA Data Center GPU Driver 535.104.05 版本的支持。请参阅平台支持页面上的 GPU Operator 组件矩阵

已修复问题#

  • 之前,NVIDIA Container Toolkit 守护程序集在具有某些类型 GPU 的节点上运行时可能会失败。当设备 PCI ID 不在 PCI 数据库中时,driver-validation init 容器在迭代 NVIDIA PCI 设备时会失败。错误消息类似于以下示例

    Error: error validating driver installation: error creating symlinks:
    failed to get device nodes: failed to get GPU information: error getting
    all NVIDIA devices: error constructing NVIDIA PCI device 0000:21:00.0:
    unable to get device name: failed to find device with id '26b9'\n\n
    Failed to create symlinks under /dev/char that point to all possible NVIDIA
    character devices.\nThe existence of these symlinks is required to address
    the following bug:\n\n    https://github.com/NVIDIA/gpu-operator/issues/430\n\n
    This bug impacts container runtimes configured with systemd cgroup management
    enabled.\nTo disable the symlink creation, set the following envvar in ClusterPolicy:\n\n
    validator:\n    driver:\n     env:\n  - name: DISABLE_DEV_CHAR_SYMLINK_CREATION\n value: \"true\""
    

23.6.0#

新特性#

  • 新增对为 GPU 工作负载配置 Kata Containers 的技术预览功能支持。此功能引入了 NVIDIA Kata Manager for Kubernetes 作为 GPU Operator 的操作数。有关更多信息,请参阅 使用 Kata Containers 的 GPU Operator

  • 新增对为 GPU 工作负载配置 Confidential Containers 的技术预览功能支持。此功能建立在配置 Kata Containers 的工作基础上,并引入了 NVIDIA Confidential Computing Manager for Kubernetes 作为 GPU Operator 的操作数。有关更多信息,请参阅 使用 Confidential Containers 和 Kata 的 GPU Operator

  • 新增对 NVIDIA Data Center GPU Driver 535.86.10 版本的支持。请参阅平台支持页面上的 GPU Operator 组件矩阵

  • 新增对 NVIDIA vGPU 16.0 的支持。

  • 新增对 NVIDIA Network Operator 23.7.0 的支持。

  • 新增对 535 驱动程序的新 MIG 配置文件的支持。

    • 对于 H100 NVL 和 H800 NVL 设备

      • 1g.12gb.me

      • 1g.24gb

      • 2g.24gb

      • 3g.47gb

      • 4g.47gb

      • 7g.94gb

改进#

  • Operator 已更新为使用 node-role.kubernetes.io/control-plane 标签,该标签是 Kubernetes 1.27 版本的默认标签。作为旧版本 Kubernetes 的回退,如果 control-plane 标签不可用,则 Operator 在具有 master 标签的节点上运行。

  • 新增对为 GPU Operator 命名空间设置 Pod Security Admission 的支持。Pod Security Admission 适用于 Kubernetes 1.25 及更高版本。您可以在安装或升级 Operator 时指定 --set psa.enabled=true,也可以修补 ClusterPolicy 对象的 cluster-policy 实例。Operator 设置以下标准

    pod-security.kubernetes.io/audit=privileged
    pod-security.kubernetes.io/enforce=privileged
    pod-security.kubernetes.io/warn=privileged
    
  • Operator 在安装或升级时执行插件验证。以前,插件验证运行需要访问 GPU 的工作负载 Pod。在 GPU 被其他工作负载占用的繁忙节点上,验证可能会错误地报告失败,因为它未被调度。插件验证仍然确认 GPU 已通告给 kubelet,但不再运行工作负载。要覆盖新行为并运行插件验证工作负载,请在安装或升级 Operator 时指定 --set validator.plugin.env.WITH_WORKLOAD=true

已修复问题#

  • 在使用网络代理并配置 GPU Direct Storage 的集群中,nvidia-fs-ctr 容器可以使用网络代理以及您在安装或升级 Operator 时使用 --set gds.env=key1=val1,key2=val2 选项指定的任何其他环境变量。

  • 在以前的版本中,当您使用 OnDelete 策略执行 GPU 驱动程序升级时,ClusterPolicy 对象的 cluster-policy 实例中报告的状态可能指示 Ready,即使驱动程序守护程序集尚未完成所有节点上的 Pod 升级。在此版本中,状态报告为 notReady,直到升级完成。

已知限制#

  • 由于容器内缺少 kernel-headers 软件包,GPU Driver 容器无法在具有 SEV-SNP CPU 功能的自定义内核的主机上运行。对于自定义内核,如果您想使用 NVIDIA GPU 运行传统的容器工作负载,NVIDIA 建议在主机上预安装 NVIDIA 驱动程序。

  • 如果在 GPU 驱动程序升级过程已在进行中时隔离节点,则 Operator 将取消隔离该节点并在该节点上升级驱动程序。您可以通过检查节点标签 nvidia.com/gpu-driver-upgrade-state != upgrade-done 来确定升级是否正在进行中。

  • NVIDIA vGPU 与 KubeVirt v0.58.0、v0.58.1 和 v0.59.0 以及 OpenShift Virtualization 4.12.0—4.12.2 不兼容。

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • 在 Amazon EKS 上安装 Operator 且 Kubernetes 版本低于 1.25 时,请指定 Helm 参数 --set psp.enabled=true,因为 EKS 启用了 Pod 安全策略 (PSP)。如果您使用 Kubernetes 版本 1.25 或更高版本,请勿指定 psp.enabled 参数,以便使用默认值 false

  • Kubernetes 集群中的所有工作节点必须运行相同的操作系统版本才能使用 NVIDIA GPU Driver 容器。

    或者,如果您在节点上预安装了 NVIDIA GPU Driver,则可以运行不同的操作系统。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 将 RHEL 8 与 Kubernetes 结合使用时,必须启用 SELinux(强制或许可模式)才能与 GPU Operator 一起使用。此外,不支持网络受限环境。

23.3.2#

新特性#

改进#

  • 增加了 NVIDIA Driver Container 启动探测使用的 nvidia-smi 命令的默认超时时间,并使超时时间可配置。以前,启动探测的超时时间为 30 秒。在此版本中,默认持续时间为 60 秒。此更改减少了 nvidia-smi 运行缓慢时容器重启的频率。有关更多信息,请参阅 常用 Chart 自定义选项

已修复问题#

  • 修复了 NVIDIA GPU Direct Storage (GDS) 和 Ubuntu 22.04 的问题。Operator 无法部署 GDS 和其他守护程序集。

    以前,Operator 产生以下错误日志

    {"level":"error","ts":1681889507.829097,"msg":"Reconciler error","controller":"clusterpolicy-controller","object":{"name":"cluster-policy"},"namespace":"","name":"cluster-policy","reconcileID":"c5d55183-3ce9-4376-9d20-e3d53dc441cb","error":"ERROR: failed to transform the Driver Toolkit Container: could not find the 'openshift-driver-toolkit-ctr' container"}
    

已知限制#

  • 如果在 GPU 驱动程序升级过程已在进行中时隔离节点,则 Operator 将取消隔离该节点并在该节点上升级驱动程序。您可以通过检查节点标签 nvidia.com/gpu-driver-upgrade-state != upgrade-done 来确定升级是否正在进行中。

  • NVIDIA vGPU 与 KubeVirt v0.58.0、v0.58.1 和 v0.59.0 以及 OpenShift Virtualization 4.12.0—4.12.2 不兼容。

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • 在 Amazon EKS 上安装 Operator 且 Kubernetes 版本低于 1.25 时,请指定 Helm 参数 --set psp.enabled=true,因为 EKS 启用了 Pod 安全策略 (PSP)。如果您使用 Kubernetes 版本 1.25 或更高版本,请勿指定 psp.enabled 参数,以便使用默认值 false

  • Ubuntu 18.04 计划于 2023 年 5 月达到标准支持的生命周期结束时间。当 Ubuntu 将其转换为生命周期结束 (EOL) 时,NVIDIA GPU Operator 及相关项目计划停止为 18.04 构建容器并停止提供支持。

  • Kubernetes 集群中的所有工作节点必须使用相同的操作系统版本。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 将 RHEL 8 与 Kubernetes 结合使用时,必须启用 SELinux(强制或许可模式)才能与 GPU Operator 一起使用。此外,不支持网络受限环境。

23.3.1#

此版本提供了一个仅打包的更新到 23.3.0 版本,以修复在 Red Hat OpenShift Container Platform 上的安装。请参阅 GitHub issue #513

23.3.0#

新特性#

  • 新增对 NVIDIA Data Center GPU Driver 525.105.17 版本的支持。请参阅平台支持页面上的 GPU Operator 组件矩阵

  • 新增对 Red Hat OpenShift Container Platform 4.11 的 GPUDirect Storage 的支持。请参阅平台支持页面上的 GPUDirect Storage 支持

  • 新增对 Canonical MicroK8s v1.26 的支持。请参阅平台支持页面上的 支持的操作系统和 Kubernetes 平台

  • 新增对 containerd v1.7 的支持。请参阅平台支持页面上的 支持的容器运行时

  • 新增对 Node Feature Discovery v0.12.1 的支持。此版本增加了对使用 NodeFeature API CRD 标记节点而不是通过 gRPC 标记节点的支持。手动升级 Operator 的文档已更新,包含应用 Node Feature Discovery 的自定义资源定义。

  • 新增对在 Amazon EKSGoogle GKE 中运行 NVIDIA GPU Operator 的支持。您必须使用自定义节点配置集群,这些节点运行受支持的操作系统,例如 Ubuntu 22.04。

  • 新增对 NVIDIA Container Toolkit v1.13.0 实现的 Container Device Interface (CDI) 的支持。有关在安装期间启用 CDI 的 cdi.enablecdi.default 选项的信息,请参阅 常用 Chart 自定义选项,有关安装后配置信息,请参阅 GPU Operator 中的 Container Device Interface 支持

  • [技术预览] 新增对精选操作系统的预编译驱动程序容器的支持。此功能消除了在集群安装期间构建驱动程序的动态依赖项,例如下载内核头文件软件包和 GCC 工具。隔离网络且无法访问互联网的站点可以从中受益。资源受限的机器站点也可以通过消除编译驱动程序的计算需求而受益。有关更多信息,请参阅 预编译驱动程序容器

  • 在平台支持页面上的 支持的 NVIDIA 数据中心 GPU 和系统 表中新增了对 NVIDIA H800 GPU 的支持。

改进#

  • 增强了 GPU 驱动程序的升级过程。此版本引入了 maxUnavailable 字段,您可以使用该字段指定升级期间可能不可用的节点数。该值可以是整数或指定百分比的字符串。如果您指定百分比,则通过向上舍入来计算节点数。默认值为 25%

    如果您为 maxUnavailable 指定值,并且还指定了 maxParallelUpgrades,则 maxUnavailable 值对 maxParallelUpgrades 的值应用了额外的约束,以确保并行升级的数量不会导致超过预期数量的节点在升级期间变得不可用。例如,如果您指定 maxUnavailable=100%maxParallelUpgrades=1,则一次升级一个节点。

  • 在以前的版本中,当您升级 GPU 驱动程序时,Operator 验证器 Pod 可能无法完成所有验证检查。因此,节点可能会无限期地保持在需要验证的状态,并阻止在集群中的其他节点上执行驱动程序升级。此版本为验证过程添加了 600 秒超时。如果验证未在持续时间内成功完成,则节点将被标记为 upgrade-failed,并且升级过程将在其他节点上继续进行。

  • 增强了多实例 GPU (MIG) 管理器,以支持为 nvidia.com/mig.config 节点注解设置初始值。在具有尚未设置注解的启用 MIG 的 GPU 的节点上,该值设置为 all-disabled,并且 MIG 管理器不会创建 MIG 设备。当您使用 MIG 配置文件标记节点时,该值将被覆盖。有关配置信息,请参阅 使用 MIG 的 GPU Operator

已修复问题#

  • 修复了使用 本地软件包存储库 时阻止构建 GPU 驱动程序容器的问题。以前,如果您需要提供 CA 证书,则证书未正确安装。现在,证书已安装在正确的目录中。有关更多详细信息,请参阅 GitHub issue #299

  • 修复了在 Red Hat OpenShift Container Platform 上创建与 Pod 安全策略的已弃用 API 请求相关的审计日志记录的问题。有关更多详细信息,请参阅 GitHub issue #451issue #490

  • 修复了导致 Operator 尝试在 Kubernetes v1.25 预发布版本上添加 Pod 安全策略的问题。有关更多详细信息,请参阅 GitHub issue #484

  • 修复了与预装 GPU 驱动程序、验证器 Pod 和设备插件 Pod 相关的竞争条件。此竞争条件可能导致设备插件 Pod 设置错误的 GPU 驱动程序路径。有关更多详细信息,请参阅 GitHub issue #508

  • 修复了驱动程序管理器中的一个问题,该问题阻止管理器准确检测节点是否具有预装的 GPU 驱动程序。如果最初安装了预装的 GPU 驱动程序,然后又将其删除,则可能会出现此问题。解决方法是让管理器检查主机上是否存在 nvidia-smi 文件,并检查执行该文件的输出。

  • 修复了阻止向 Operator 启动的守护程序集添加自定义注释的问题。有关更多详细信息,请参阅 GitHub issue #499

  • 修复了一个与未启动 GPU 功能发现 (GFD) Pod 相关的问题,当 DCGM Exporter 服务监视器启用,但服务监视器自定义资源定义不存在时。以前,没有日志记录来描述为什么 GFD Pod 未启动。在此版本中,Operator 记录错误 Couldn't find ServiceMonitor CRD 和消息 Install Prometheus and necessary CRDs for gathering GPU metrics 以指示原因。

  • 修复了一个竞争条件,该条件阻止 GPU 驱动程序容器加载 nvidia-peermem Linux 内核模块,并导致驱动程序守护程序集 Pod 进入崩溃循环回退状态。当 GPUDirect RDMA 和 GPUDirect Storage 都启用时,可能会发生这种情况。在此版本中,驱动程序容器的启动脚本确认 Operator 验证器指示驱动程序容器已准备就绪,然后才尝试加载内核模块。

  • 修复了当 GPUDirect Storage 启用时导致 GPU 驱动程序升级失败的问题。在此版本中,驱动程序管理器在执行升级之前卸载 nvidia-fs Linux 内核模块。

  • 增加了对使用 525 驱动程序的新 MIG 配置文件的支持。

    • 对于 A100-40GB 设备

      • 1g.5gb.me

      • 1g.10gb

      • 4g.20gb

    • 对于 H100-80GB 和 A100-80GB 设备

      • 1g.10gb

      • 1g.10gb.me

      • 1g.20gb

      • 4g.40gb

    • 对于 A30-24GB 设备

      • 1g.6gb.me

      • 2g.12gb.me

常见漏洞和暴露 (CVE)#

gpu-operator:v23.3.0gpu-operator-validator:v23.3.0 镜像具有以下已知的高危漏洞 CVE。这些 CVE 来自基础镜像,而不是 GPU Operator 使用的库中

已知限制#

  • 不支持在裸机节点和 NVSwitch 上使用 NVIDIA vGPU。

  • 在 Amazon EKS 上安装 Operator 且 Kubernetes 版本低于 1.25 时,请指定 Helm 参数 --set psp.enabled=true,因为 EKS 启用了 Pod 安全策略 (PSP)。如果您使用 Kubernetes 版本 1.25 或更高版本,请勿指定 psp.enabled 参数,以便使用默认值 false

  • Ubuntu 18.04 计划于 2023 年 5 月达到标准支持的生命周期结束时间。当 Ubuntu 将其转换为生命周期结束 (EOL) 时,NVIDIA GPU Operator 及相关项目计划停止为 18.04 构建容器并停止提供支持。

  • Kubernetes 集群中的所有工作节点必须使用相同的操作系统版本。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 将 RHEL 8 与 Kubernetes 结合使用时,必须启用 SELinux(强制或许可模式)才能与 GPU Operator 一起使用。此外,不支持网络受限环境。


22.9.2#

新功能#

改进#

  • 增强了驱动程序验证逻辑,以确保驱动程序容器的当前实例已成功完成驱动程序的安装。此增强功能可防止其他操作数错误地使用先前加载的驱动程序启动。

  • 将整体驱动程序启动探测超时从 10 分钟增加到 20 分钟。增加超时时间通过避免不必要的驱动程序容器重启,改善了网络较慢的集群的安装体验。

已修复问题#

  • 修复了一个问题,当 systemd 被触发运行一些对其管理的 cgroup 的重新评估时,分配了 GPU 的容器会失去对 GPU 的访问权限。此问题影响使用配置了 systemd cgroup 的 runc 的系统。有关更多详细信息,请参阅 Github issue #430

  • 修复了一个问题,该问题阻止 GPU operator 在命名空间上应用 PSA 标签,当之前不存在任何标签时。

常见漏洞和暴露 (CVE)#

gpu-operator:v22.9.2gpu-operator:v22.9.2-ubi8 镜像具有以下已知的高危漏洞 CVE。这些 CVE 来自基础镜像,而不是 GPU Operator 使用的库中

已知限制#

  • Kubernetes 集群中的所有工作节点必须使用相同的操作系统版本。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级授权,驱动程序才能成功安装。

  • 不支持使用 R525 驱动程序的较新 MIG 配置文件 1g.10gb1g.20gb2.12gb+me

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。

  • 使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X。此外,所有 GPU Operator Pod 都将卡在 Init 状态。

  • 将 RHEL 8 与 Kubernetes 结合使用时,必须启用 SELinux(强制或许可模式)才能与 GPU Operator 一起使用。此外,不支持网络受限环境。


22.9.1#

新功能#

  • 在 x86 / ARM 服务器上支持 CUDA 12.0 / R525 数据中心驱动程序。

  • 支持使用 Kubernetes 和 Containerd 或 CRI-O 的 RHEL 8.7。

  • 支持使用 Kubernetes 和 CRI-O 的 Ubuntu 20.4 和 22.04。

  • 支持使用 Ubuntu 20.04 和 Ubuntu 22.04 以及 Kubernetes 的 NVIDIA GPUDirect Storage。

  • 支持 RTX 6000 ADA GPU

  • 支持 A800 GPU

  • 支持带有 Tanzu 的 vSphere 8.0

  • 支持 vGPU 15.0

  • 支持 HPE Ezmeral Runtime Enterprise。版本 5.5 - 带有 RHEL 8.4 和 8.5

改进#

  • 添加了 helm 参数来控制 operator 日志记录级别和时间编码。

  • 当将 CRI-O 运行时与 Kubernetes 一起使用时,不再需要更新 CRI-O 配置文件以包含 /run/containers/oci/hooks.d 作为 OCI hooks 的附加路径。默认情况下,NVIDIA OCI runtime hook 安装在 /usr/share/containers/oci/hooks.d,这是 CRI-O 配置的默认路径。

  • 允许使用自定义 ConfigMap 和节点标签 nvidia.com/device-plugin.config=<config-name> 为 NVIDIA Device Plugin 进行按节点配置。

  • 支持 GPU Operator 部署的所有 Daemonset 的 OnDelete 升级策略。这可以使用 ClusterPolicy 中的 daemonsets.upgradeStrategy 参数进行配置。这可以防止由 GPU Operator 管理的 Pod 在 spec 更新时自动重启。

  • 仅在驱动程序容器升级期间启用 GPU Pod 的驱逐,通过在 ClusterPolicydriver.manager.env 下设置 ENABLE_GPU_POD_EVICTION 环境变量(默认值:“true”)。这消除了当前排空整个节点的要求。

已修复问题#

  • 修复了与 containerd 版本 v1.6.9 及更高版本一起使用时 container-toolkit 重复重启的问题。有关更多详细信息,请参阅 Github issue #432

  • 禁用在 K8s 版本 1.25 及更高版本中创建 PodSecurityPolicies (PSP),因为它已被删除。

常见漏洞和暴露 (CVE)#

  • 已修复 - 更新了 515.86.01510.108.03470.161.03450.216.04 的驱动程序镜像,以解决 此处 注明的 CVE。

  • gpu-operator:v22.9.1gpu-operator:v22.9.1-ubi8 镜像已发布,其中包含以下已知的高危漏洞 CVE。这些 CVE 来自基础镜像,而不是 GPU Operator 使用的库中

已知限制#

  • Kubernetes 集群中的所有工作节点必须使用相同的操作系统版本。

  • 在启用安全启动的系统上不支持 NVIDIA GPUDirect Storage (GDS)。

  • Driver Toolkit 镜像在 Red Hat OpenShift 版本 4.11.12 中已损坏,并且在这种情况下需要启用集群级别授权才能成功安装驱动程序。

  • 不支持使用 R525 驱动程序的较新 MIG 配置文件 1g.10gb1g.20gb2.12gb+me。将在后续版本中添加。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。

  • 当使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X,并且所有 GPU Operator Pod 都将卡在 Init 状态。

  • 当将 RHEL8 与 Kubernetes 一起使用时,必须启用 SELinux(处于 permissive 或 enforcing 模式),才能与 GPU Operator 一起使用。此外,不支持网络受限的环境。

22.9.0#

新功能#

  • 在 x86 服务器上支持带有 CUDA 11.8 / R520 数据中心驱动程序的 Hopper (H100) GPU。

  • 支持带有 Kubernetes 和 Containerd 或 CRI-O 的 RHEL 8。

  • 支持 Kubernetes 1.25。

  • 支持带有 Ubuntu 20.04 和 RHEL8 的 RKE2 (Rancher Kubernetes Engine 2)。

  • 支持带有 NVIDIA Network Operator 1.3 的 GPUDirect RDMA。

  • 支持带有云服务提供商 (CSP) Amazon AWS、Google GKE 和 Microsoft Azure 的 Red Hat OpenShift。

  • [正式发布] - 支持 KubeVirt 和 Red Hat OpenShift Virtualization 与 GPU 直通和基于 NVIDIA vGPU 的产品

  • [正式发布] - ARM 上的 OCP 和上游 Kubernetes 与 支持的平台

  • 通过 psp.enabled 标志支持 Pod Security Admission (PSA)。如果启用,operator 安装到的命名空间将被标记为 privileged pod 安全级别。

改进#

  • 支持使用 Helm hooks 自动升级和清理 clusterpolicies.nvidia.com CRD。有关更多信息,请参阅 Operator 升级

  • 支持动态启用/禁用 GFD、MIG Manager、DCGM 和 DCGM-Exporter。

  • 从此版本开始切换到日历版本控制,以便更好地进行生命周期管理和支持。有关更多信息,请参阅 NVIDIA GPU Operator 版本控制

已修复问题#

  • 从 operator 和所有操作数镜像中删除 CUDA compat libs,以避免与已安装的 CUDA 驱动程序版本不匹配。更多信息请参阅 此处此处

  • 迁移到 node.k8s.io/v1 API 以创建 RuntimeClass 对象。更多信息请参阅 此处

  • 从 Kubernetes v1.25 开始删除 PodSecurityPolicy (PSP)。设置 psp.enabled 现在将启用 Pod Security Admission (PSA) 代替。

已知限制#

  • Kubernetes 集群中的所有工作节点必须使用相同的操作系统版本。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。

  • 当使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X,并且所有 GPU Operator Pod 都将卡在 Init 状态。

  • 当将 CRI-O 运行时与 Kubernetes 一起使用时,配置文件 /etc/crio/crio.conf 必须包含 /run/containers/oci/hooks.d 作为 hooks_dir 的路径。有关配置步骤,请参阅 为 containerd 指定配置选项

  • 当将 RHEL8 与 Kubernetes 一起使用时,必须启用 SELinux(处于 permissive 或 enforcing 模式),才能与 GPU Operator 一起使用。此外,不支持网络受限的环境。

  • gpu-operator:v22.9.0gpu-operator:v22.9.0-ubi8 镜像已发布,其中包含以下已知的高危漏洞 CVE。这些 CVE 来自基础镜像,而不是 GPU Operator 使用的库中


1.11.1#

改进#

  • 为 NVIDIA 驱动程序容器添加了 startupProbe,以允许 RollingUpgrades 仅在当前节点上成功加载驱动程序模块后才进行到其他节点。

  • 增加了对 driver.rollingUpdate.maxUnavailable 参数的支持,以指定同时驱动程序升级的最大节点数。默认为 1。

  • NVIDIA 驱动程序容器将在具有预装驱动程序的节点上通过应用标签 nvidia.com/gpu.deploy.driver=pre-installed 自动禁用自身。这对于异构集群很有用,其中只有一些 GPU 节点具有预装驱动程序(例如 DGX OS)。

已修复问题#

  • 根据 ClusterPolicy 中的 deamonsets.tolerations,将容忍度应用于 cuda-validatordevice-plugin-validator Pod。有关更多信息,请参阅 此处

  • 修复了当 accept-nvidia-visible-devices-envvar-when-unprivileged = false 与 NVIDIA Container Toolkit 一起设置时,导致 cuda-validator Pod 失败的问题。有关更多信息,请参阅 此处

  • 修复了一个问题,当 driver.rdma.enableddriver.rdma.useHostMofed 都设置为 true 时,导致在 /run/nvidia/driver 下出现递归挂载。这导致其他 GPU Pod 无法启动。


1.11.0#

新功能#

  • 支持 NVIDIA 数据中心 GPU 驱动程序版本 515.48.07

  • 支持 NVIDIA AI Enterprise 2.1。

  • 支持 NVIDIA Virtual Compute Server 14.1 (vGPU)。

  • 支持 Ubuntu 22.04 LTS。

  • 支持使用 GPU 驱动程序版本 515 和 Ubuntu Server 20.04 LTS 和 22.04 LTS 的安全启动。

  • 支持 Kubernetes 1.24。

  • 支持 Kubernetes 中的 GPU 时分共享

  • 支持 AWS、Azure 和 GCP 实例上的 Red Hat OpenShift。有关支持的实例,请参阅平台支持矩阵。

  • 支持 AWS EC2 G5g 实例 (ARM) 上的 Red Hat Openshift 4.10。

  • 支持 AWS EC2 G5g 实例 (ARM) 上的 Kubernetes 1.24。

  • 支持与 NVIDIA Network Operator 1.2 一起使用。

  • [技术预览] - 支持 KubeVirt 和 Red Hat OpenShift Virtualization 与 GPU 直通和基于 NVIDIA vGPU 的产品

  • [技术预览] - ARM 上的 Kubernetes 与服务器基本系统架构 (SBSA)。

改进#

  • GPUDirect RDMA 现在在使用节点上安装的 MOFED 的 CentOS 上受支持。

  • NVIDIA vGPU 管理器现在可以升级到较新的分支,同时使用较旧的兼容 guest 驱动程序。

  • DGX A100 和非 DGX 服务器现在可以在同一集群中使用。

  • 改进了通过 Red Hat OpenShift 控制台部署 GPU Operator 的 ClusterPolicy 实例 (CR) 时的用户界面。

  • 改进了 container-toolkit 以处理 v1 containerd 配置。

已修复问题#

  • 修复了 DCGM_FI_DEV_FB_USED 报告不正确的问题,其中保留内存被报告为已用内存。有关更多详细信息,请参阅 GitHub issue

  • 修复了 nvidia-peermem sidecar 容器,以便在 MOFED 直接安装在节点上时正确加载 nvidia-peermem 模块。

  • 修复了驱动程序容器内 /run/mellanox/drivers 的重复挂载,这导致驱动程序清理或重新安装失败。

  • 修复了当 ENABLE_AUTO_DRAIN 环境变量禁用时,k8s-driver-manager 未解除节点封锁的问题。

  • 修复了 NVIDIA Network Operator 对 MOFED 驱动程序安装的就绪性检查。这将避免 GPU 驱动程序容器在等待 MOFED 驱动程序准备就绪时处于 CrashLoopBackOff 状态。

已知限制#

  • Kubernetes 集群中的所有工作节点必须使用相同的操作系统版本。

  • NVIDIA GPU Operator 只能用于部署单一 NVIDIA GPU Driver 类型和版本。NVIDIA vGPU 和 Data Center GPU Driver 不能在同一集群中使用。

  • 有关 GPU Operator 对 KubeVirt 的支持 [技术预览] 的 限制 部分,请参阅。

  • 在使用 Helm 卸载 GPU Operator 后,必须手动删除 clusterpolicies.nvidia.com CRD。

  • 当使用 NVIDIA vGPU 时,必须将 nouveau 驱动程序列入黑名单。否则,驱动程序将无法初始化 GPU,并在系统日志中显示错误 Failed to enable MSI-X,并且所有 GPU Operator Pod 都将卡在 init 状态。

  • gpu-operator:v1.11.0gpu-operator:v1.11.0-ubi8 镜像已发布,其中包含以下已知的高危漏洞 CVE。这些 CVE 来自基础镜像,而不是 GPU Operator 使用的库中


1.10.1#

改进#

  • 验证了使用已签名 NVIDIA 数据中心驱动程序 R510 的安全启动。

  • 验证了使用 Ubuntu Server 20.04 LTS 的 cgroup v2。

已修复问题#

  • 修复了在 GPU 上已启用 MIG 的情况下安装 GPU Operator 时出现的问题。GPU Operator 现在将成功安装,并且 MIG 可以通过标签 nvidia.com/mig.config=all-disabled 禁用,或者使用所需的 MIG 配置文件进行配置。

已知限制#

  • gpu-operator:v1.10.1gpu-operator:v1.10.1-ubi8 镜像已发布,其中包含以下已知的高危漏洞 CVE。这些 CVE 来自基础镜像,而不是 GPU Operator 使用的库中


1.10.0#

新功能#

  • 支持 NVIDIA 数据中心 GPU 驱动程序版本 510.47.03

  • 支持 NVIDIA A2、A100X 和 A30X

  • 支持 DPU 的 Arm 处理器上的 A100X 和 A30X。

  • 支持使用 Ubuntu Server 20.04 和 NVIDIA 数据中心 GPU 驱动程序版本 R470 的安全启动。

  • 支持 Red Hat OpenShift 4.10。

  • 支持带有 Red Hat OpenShift 的 GPUDirect RDMA。

  • 支持 NVIDIA AI Enterprise 2.0。

  • 支持 NVIDIA Virtual Compute Server 14 (vGPU)。

改进#

  • 通过 NVIDIA 驱动程序模块参数启用/禁用 GPU 系统处理器 (GSP) 模式。

  • 能够通过标签避免在某些工作节点上部署 GPU Operator 操作数。对于使用 KubeVirt 运行带有 GPU 的 VM 非常有用。

已修复问题#

  • 将 GPU Operator 的租约持续时间增加到 60 秒,以避免在 etcd defrag 期间重启。更多详细信息请参阅 此处

  • 当集群中没有 GPU 节点时,避免在 RedHat OpenShift 上生成类型为 GPUOperatorOpenshiftDriverToolkitEnabledNfdTooOld 的虚假警报。

  • ENABLE_AUTO_DRAIN 设置为 false 时,避免在驱动程序 Pod 启动期间解除节点封锁。

  • 现在支持使用 470+ 驱动程序在 MIG 模式下收集 GPU 指标。

  • 现在支持带有 CentOS 7 的 Fabric Manager(基于 NVSwitch 的系统所必需)。

已知限制#

  • 升级到新的 NVIDIA AI Enterprise 主要分支

    将 vGPU 主机驱动程序升级到比 vGPU guest 驱动程序更新的主要分支将导致 GPU 驱动程序 Pod 过渡到失败状态。例如,当主机升级到 vGPU 版本 14.x,而 Kubernetes 节点仍在运行 vGPU 版本 13.x 时,会发生这种情况。

    为了克服这种情况,在将主机驱动程序升级到新的 vGPU 分支之前,请应用以下步骤

    1. kubectl edit clusterpolicy

    2. 修改策略并将环境变量 DISABLE_VGPU_VERSION_CHECK 设置为 true,如下所示

      driver:
        env:
        - name: DISABLE_VGPU_VERSION_CHECK
          value: "true"
      
    3. 写入并退出 clusterpolicy 编辑

  • gpu-operator:v1.10.0gpu-operator:v1.10.0-ubi8 镜像已发布,其中包含以下已知的高危漏洞 CVE。这些 CVE 来自基础镜像,而不是 GPU Operator 使用的库中


1.9.1#

改进#

  • 改进了驱动程序容器中等待 MOFED 驱动程序就绪的逻辑。这确保了 nvidia-peermem 被正确构建和安装。

已修复问题#

  • 允许 driver 容器在 Red Hat OpenShift 上构建失败时回退到使用集群授权。当将 GPU Operator 与某些 Red Hat OpenShift 4.8.z 版本和 Red Hat OpenShift 4.9.8 一起使用时,此问题会暴露出来。GPU Operator 1.9+ 与 Red Hat OpenShift 4.9.9+ 不需要授权。

  • 修复了 DCGM-Exporter 在使用作为独立 DCGM Pod 一部分的单独 DCGM 主机引擎时无法正常工作的问题。修复了该问题,并将默认行为更改为使用嵌入在 DCGM-Exporter 中的 DCGM 主机引擎。默认情况下不会启动独立的 DCGM Pod,但可以启用以与 DGX A100 一起使用。

  • 更新到最新的 Go vendor 包以避免任何 CVE。

  • 修复了一个问题,以允许 GPU Operator 在 Kubernetes 上与 CRI-O 运行时一起工作。

  • 挂载 Mellanox OFED 5.x 驱动程序的正确源路径,以启用 GPUDirect RDMA。


1.9.0#

新功能#

  • 支持 NVIDIA 数据中心 GPU 驱动程序版本 470.82.01

  • 支持带有 DGX OS 5.1+ 的 DGX A100。

  • 支持带有 MIG Manager 的预装 GPU 驱动程序。

  • 删除了维护活动 Red Hat OpenShift 授权以构建 GPU 驱动程序的依赖项。从 Red Hat OpenShift 4.9.9 开始引入免授权驱动程序构建。

  • 支持带有预装 Mellanox OFED 驱动程序的 GPUDirect RDMA。

  • 支持使用 Red Hat OpenShift Lifecycle Manager (OLM) 进行 GPU Operator 和操作数升级。

  • 支持 NVIDIA Virtual Compute Server 13.1 (vGPU)。

改进#

  • 自动检测集群中使用的默认运行时。弃用 operator.defaultRuntime 参数。

  • GPU Operator 及其操作数安装到单个用户指定的命名空间中。

  • 自动检测并卸载已加载的 Nouveau 驱动程序,作为 GPU Operator 安装的一部分。

  • 添加了一个选项,用于将自签名证书的 ConfigMap 挂载到驱动程序容器中。启用与私有软件包仓库的 SSL 连接。

已修复问题#

  • 修复了 DCGM Exporter 处于 CrashLoopBackOff 状态的问题,因为它无法连接到同一节点上的 DCGM 端口。

已知限制#

  • GPUDirect RDMA 仅在使用 Ubuntu 20.04 LTS 的 R470 驱动程序上受支持,并且在其他发行版(例如 CoreOS、CentOS 等)上不受支持。

  • GPU Operator 仅结合 Network Operator 支持 GPUDirect RDMA。Mellanox OFED 驱动程序可以由 Network Operator 安装或预装在主机上。

  • 由于 GPU Operator 1.9 将 GPU Operator 及其操作数安装到单个命名空间中,因此不支持从 v1.8.x 升级到 v1.9.x。以前的 GPU Operator 版本将它们安装到不同的命名空间中。升级到 GPU Operator 1.9 需要在安装 GPU Operator 1.9 之前卸载 1.9 之前的 GPU Operator 版本

  • 使用 470+ 驱动程序在 MIG 模式下不支持收集 GPU 指标。

  • GPU Operator 要求所有 MIG 相关配置都由 MIG Manager 执行。不鼓励直接在主机上启用/禁用 MIG 和其他 MIG 相关配置。

  • 不支持带有 CentOS 7 的 Fabric Manager(基于 NVSwitch 的系统所必需)。


1.8.2#

已修复问题#

  • 修复了 Driver Daemonset 在 RedHat OpenShift 上被错误更新的问题,导致在代理环境中重复重启。

  • MIG Manager 版本已提升到 v0.1.3,以修复检查 GPU 是否处于 MIG 模式时出现的问题。以前,它总是直接通过 PCIe 总线检查 MIG 模式,而不是使用 NVML。现在,它会在可以使用 NVML 时使用 NVML 进行检查,仅在 NVML 不可用时才回退到 PCIe 总线。有关已修复问题的完整列表,请参阅 发行说明

  • Container Toolkit 已提升到版本 v1.7.1,以修复在使用 A100 80GB 时出现的问题。

改进#

  • 增加了通过 ConfigMap 支持用户定义的 MIG 分区配置。


1.8.1#

已修复问题#


1.8.0#

新功能#

  • 支持 NVIDIA 数据中心 GPU 驱动程序版本 470.57.02

  • 增加了对 NVSwitch 系统(例如 HGX A100)的支持。驱动程序容器检测系统中 NVSwitch 的存在,并自动部署 Fabric Manager 以设置 NVSwitch fabric。

  • 现在,当 GPUDirect RDMA 启用且系统中存在 Mellanox 设备时,驱动程序容器会构建并加载 nvidia-peermem 内核模块。这允许 GPU Operator 补充 NVIDIA Network Operator,以在 Kubernetes 集群中启用 GPUDirect RDMA。有关入门信息,请参阅 RDMA 文档。

    Note

    此功能仅在使用 Ubuntu 20.04 LTS 上的 R470 驱动程序时可用。

  • 增加了对 GPU Operator 组件 升级 的支持。新的 k8s-driver-manager 组件处理集群中节点上 NVIDIA 驱动程序的升级。

  • NVIDIA DCGM 现在作为 GPU Operator 的组件部署。独立的 DCGM 容器允许多个客户端(例如 DCGM-ExporterNVSM)被部署并连接到现有的 DCGM 容器。

  • 添加了一个 nodeStatusExporter 组件,该组件以 Prometheus 格式导出 operator 和节点指标。该组件提供有关 operator 状态的信息(例如,协调状态、启用 GPU 的节点数)。

改进#

  • 通过删除重复项和冗余字段,减小了 ClusterPolicy CRD 的大小。

  • GPU Operator 现在支持检测系统的虚拟 PCIe 拓扑,并通过配置文件使拓扑可用于 vGPU 驱动程序。驱动程序容器在 vGPU 配置中启动 nvidia-topologyd 守护程序。

  • 增加了通过 Helm 指定 RuntimeClass 变量的支持。

  • 添加了 nvidia-container-toolkit 镜像以支持 CentOS 7 和 CentOS 8。

  • nvidia-container-toolkit 现在支持为 RKE2 正确配置 containerd

  • nvidia-container-toolkit 添加了新的调试选项(日志记录、详细级别)。

修复的问题#

  • 驱动程序容器现在默认加载 ipmi_devintf。这允许依赖于 ipmi 字符设备的工具(例如 ipmitool)被创建和可用。

已知限制#

  • GPUDirect RDMA 仅在使用 Ubuntu 20.04 LTS 的 R470 驱动程序上受支持,并且在其他发行版(例如 CoreOS、CentOS 等)上不受支持。

  • Operator 仅支持结合网络 Operator 构建和加载 nvidia-peermem。不支持与主机上预安装的 MOFED 驱动程序一起使用。此功能将在未来的版本中添加。

  • 即将发布的补丁版本中将提供对带有 GPU Operator 1.8 的 DGX A100 的支持。

  • 当配置集群范围代理时,此版本的 GPU Operator 在 RedHat OpenShift 上无法良好运行,并导致驱动程序容器持续重启。这将在即将发布的补丁版本 v1.8.2 中修复。


1.7.1#

修复的问题#

  • NFD 版本已提升至 v0.8.2,以支持 Anthos 节点上的正确内核版本标记。有关更多详细信息,请参阅 NFD 问题


1.7.0#

新功能#

  • 支持 NVIDIA 数据中心 GPU 驱动程序版本 460.73.01

  • 添加了使用 k8s-mig-manager 在 NVIDIA Ampere 产品(例如 A100)上自动配置 MIG 几何结构的支持。

  • GPU Operator 现在可以部署在预装了 NVIDIA 驱动程序和 NVIDIA Container Toolkit 的系统上。

  • DCGM-Exporter 现在支持受支持的 Ampere 产品(例如 A100)上 MIG 设备的遥测。

  • 添加了对新的 nvidia RuntimeClasscontainerd 的支持。

  • 当集群中启用 PodSecurityPolicies 时,Operator 现在支持它。

改进#

  • 更改了 GPU Operator 不同状态的 DaemonSet 使用的标签选择器。每个 DaemonSet 现在都有自己的标签 nvidia.com/gpu.deploy.<state>=true,而不是使用全局标签 nvidia.com/gpu.present=true。这种新行为允许更精细地控制部署在每个 GPU 节点上的组件。

  • 迁移到使用最新的 operator-sdk 来构建 GPU Operator。

  • Operator 组件以 node-critical PriorityClass 部署,以最大限度地减少被驱逐的可能性。

  • initContainer 镜像添加了规范,以允许根据需要灵活更改基础镜像。

  • 添加了配置 Operator 应用的 MIG 策略的能力。

  • 驱动程序容器现在可以自动检测 OpenShift/RHEL 版本,以更好地处理节点/集群升级。

  • 在集群中的所有 GPU 节点上完成容器工具包和设备插件安装的验证。

  • 在 Operator 部署期间添加了一个选项,可以跳过插件验证工作负载 pod。

修复的问题#

  • gpu-operator-resources 命名空间现在由 Operator 创建,以便 Helm 和 OpenShift 安装都可以使用它。

已知限制#

  • DCGM 不支持 RTX 6000 和 RTX 8000 上的性能分析指标。将在 DCGM Exporter 的未来版本中添加支持。

  • 卸载 GPU Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新安装 GPU Operator 之前,请重新启动节点或使用 sudo rmmod nvidia nvidia_modeset nvidia_uvm 命令强制删除它们。

  • 当配置 mixed 的 MIG 策略时,由于不正确的 GPU 资源请求类型,device-plugin-validation 可能会保持 Pending 状态。用户需要修改 pod 规范以应用正确的资源类型,以匹配集群中配置的 MIG 设备。


1.6.2#

修复的问题#

  • 修复了 NVIDIA Container Toolkit 1.4.6 的一个问题,该问题导致 containerd 出现错误 Error while dialing dial unix /run/containerd/containerd.sock: connect: connection refused。NVIDIA Container Toolkit 1.4.7 现在将 version 设置为整数以修复此错误。

  • 修复了 NVIDIA Container Toolkit 的一个问题,该问题导致 nvidia-container-runtime 设置在节点重启后仍然存在,并导致驱动程序 pod 失败。现在,当节点重启期间驱动程序模块尚未加载时,nvidia-container-runtime 将回退到使用 runc

  • GPU Operator 现在将 CRIO 的运行时 hook 配置挂载在 /run/containers/oci/hooks.d 下。


1.6.1#

修复的问题#

  • 修复了 NVIDIA Container Toolkit 1.4.5 在与 containerd 和空的 containerd 配置文件一起使用时导致错误 Error while dialing dial unix /run/containerd/containerd.sock: connect: connection refused 的问题。当默认 containerd 配置文件为空时,NVIDIA Container Toolkit 1.4.6 现在显式设置 version=2 以及其他更改。


1.6.0#

新功能#

  • 支持 Red Hat OpenShift 4.7。

  • 支持 NVIDIA 数据中心 GPU 驱动程序版本 460.32.03

  • 自动将代理设置和自定义 CA 证书注入到 Red Hat OpenShift 的驱动程序容器中。

DCGM-Exporter 支持包括以下内容

  • 将 DCGM 更新到 v2.1.4

  • 将报告间隔从 2 秒增加到 30 秒,以减少开销

  • 报告 Ampere GPU 的 NVIDIA vGPU 许可状态和行重映射指标

改进#

  • NVIDIA vGPU 许可配置 (gridd.conf) 可以作为 ConfigMap 提供

  • ClusterPolicy CRD 已从 v1beta1 更新到 v1。因此,从 GPU Operator 1.6.0 开始,最低支持的 Kubernetes 版本为 1.16。

修复的问题#

  • 修复了 DCGM Exporter 与 CPU Manager 一起工作的问题。

  • nvidia-gridd daemon 日志现在由 rsyslog 在主机上收集。

已知限制#

  • DCGM 不支持 RTX 6000 和 RTX 8000 上的性能分析指标。将在 DCGM Exporter 的未来版本中添加支持。

  • 卸载 GPU Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新安装 GPU Operator 之前,请重新启动节点或使用 sudo rmmod nvidia nvidia_modeset nvidia_uvm 命令强制删除它们。

  • 当配置 mixed 的 MIG 策略时,由于不正确的 GPU 资源请求类型,device-plugin-validation 可能会保持 Pending 状态。用户需要修改 pod 规范以应用正确的资源类型,以匹配集群中配置的 MIG 设备。

  • Red Hat OpenShift 中的 gpu-operator-resources 项目需要标签 openshift.io/cluster-monitoring=true,以便 Prometheus 收集 DCGM 指标。创建项目时,用户需要手动添加此标签。


1.5.2#

改进#

  • 允许在具有非 MIG GPU 的节点上使用 mig.strategy=single

  • 在启动时预先创建与 MIG 相关的 nvcaps

  • 更新了 device-plugin 和 toolkit 验证,以与 CPU Manager 一起工作。

修复的问题#

  • 修复了导致 GFD pod 因 Failed to load NVML 错误而失败的问题,即使在驱动程序加载后也是如此。


1.5.1#

改进#

  • 现在支持 Kubelet 的 cgroup 驱动程序为 systemd

修复的问题#

  • Device-Plugin 在节点重启或向集群添加新节点时卡在 init 阶段。


1.5.0#

新功能#

  • 增加了对 NVIDIA vGPU 的支持

改进#

  • 驱动程序验证容器作为 initContainer 在 device-plugin Daemonset pod 中运行。因此,将验证每个 NVIDIA GPU/vGPU 节点上的驱动程序安装。

  • GFD 将使用 Hypervisor 上安装的 NVIDIA vGPU 的驱动程序版本和分支名称来标记 vGPU 节点。

  • 驱动程序容器将执行 NVIDIA vGPU 驱动程序与底层 Hypervisor 上安装的版本之间的自动兼容性检查。

修复的问题#

  • 当未找到 GPU 节点时,GPU Operator 将不再崩溃。

  • Container Toolkit pod 在将默认容器运行时设置为 nvidia 之前,会等待驱动程序加载到系统上。

  • 在主机重启时,维护 pod 的顺序以确保始终首先加载驱动程序。

  • 修复了 device-plugin 问题,该问题导致 symbol lookup error: nvidia-device-plugin: undefined symbol: nvmlEventSetWait_v2 错误。

已知限制#

  • GPU Operator v1.5.x 不支持同一集群中混合类型的 GPU。集群中的所有 GPU 都需要是 NVIDIA vGPU、GPU 直通 GPU 或裸金属 GPU。

  • 带有 NVIDIA vGPU 的 GPU Operator v1.5.x 支持 Turing 和更新的 GPU 架构。

  • DCGM 不支持 RTX 6000 和 RTX 8000 上的性能分析指标。将在 DCGM Exporter 的未来版本中添加支持。

  • 卸载 GPU Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新安装 GPU Operator 之前,请重新启动节点或使用 sudo rmmod nvidia nvidia_modeset nvidia_uvm 命令强制删除它们。

  • 当配置 mixed 的 MIG 策略时,由于不正确的 GPU 资源请求类型,device-plugin-validation 可能会保持 Pending 状态。用户需要修改 pod 规范以应用正确的资源类型,以匹配集群中配置的 MIG 设备。

  • Red Hat OpenShift 中的 gpu-operator-resources 项目需要标签 openshift.io/cluster-monitoring=true,以便 Prometheus 收集 DCGM 指标。创建项目时,用户需要手动添加此标签。


1.4.0#

新功能#

  • 增加了对 CentOS 7 和 8 的支持。

    Note

    由于 CentOS 上 GPU Operator 默认值的已知限制,请使用以下 Helm 命令在 CentOS 7/8 上安装 operator

    $ helm install --wait --generate-name \
      nvidia/gpu-operator \
      --set toolkit.version=1.4.0-ubi8
    

    此问题将在下一个版本中修复。

  • 增加了对 airgapped 企业环境的支持。

  • 增加了对 containerd 作为 Kubernetes 下的容器运行时的支持。

改进#

  • 将 DCGM-Exporter 更新到 2.1.2,它使用 DCGM 2.0.13。

  • 添加了将参数传递给 NVIDIA 设备插件以启用 migStrategydeviceListStrategy 标志的功能,这些标志允许对插件进行额外的配置。

  • dcgm-exporter 增加了更多弹性 - dcgm-exporter 不会检查 GPU 是否支持性能分析指标,并且在这些配置中启动时会导致 CrashLoopBackOff 状态。

修复的问题#

  • 修复了从集群中移除 GPU Operator 需要重启 Docker daemon 的问题(因为 Operator 将 nvidia 设置为默认运行时)。

  • 修复了 GPU Operator 下 dcgm-exporter 的卷挂载,以允许 pod<->设备指标归属。

  • 修复了 GFD 和 dcgm-exporter 容器镜像被人为限制为 R450+ (CUDA 11.0+) 驱动程序的问题。

已知限制#

  • 卸载 GPU Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新安装 GPU Operator 之前,请重新启动节点或使用 sudo rmmod nvidia nvidia_modeset nvidia_uvm 命令强制删除它们。


1.3.0#

新功能#

  • 集成了 GPU Feature Discovery 以利用 NFD 自动生成 GPU 的标签。

  • 增加了对 Red Hat OpenShift 4.4+(即 4.4.29+、4.5 和 4.6)的支持。可以从 OpenShift OperatorHub 部署 GPU Operator。有关更多信息,请参阅目录 列表

改进#

  • 将 DCGM-Exporter 更新到 2.1.0,并默认添加了性能分析指标。

  • 通过 ClusterPolicy 添加了更多功能来配置容忍度、节点亲和性、节点选择器、pod 安全上下文、资源需求。

  • 优化了验证容器镜像的 footprint - 镜像大小现在降至约 200MB。

  • 验证镜像现在可配置用于 air-gapped 安装。

修复的问题#

  • 修复了状态机的顺序,以确保在其他组件之前部署驱动程序 daemonset。此修复解决了 NVIDIA container toolkit 将设置为默认运行时,导致驱动程序容器初始化失败的问题。

已知限制#

  • 卸载 GPU Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新安装 GPU Operator 之前,请重新启动节点或使用 sudo rmmod nvidia nvidia_modeset nvidia_uvm 命令强制删除它们。


1.2.0#

新功能#

  • 增加了对 Ubuntu 20.04.z LTS 的支持。

  • 增加了对 NVIDIA A100 GPU 的支持(以及对 operator 底层组件的相应更新)。

改进#

  • 将 Node Feature Discovery (NFD) 更新到 0.6.0。

  • 容器镜像现在托管(和镜像)在 DockerHubNGC 上。

修复的问题#

  • 修复了由于 PCIe 节点标签不一致,GPU operator 无法正确检测 GPU 节点的问题。

  • 修复了一个竞争条件,其中一些 NVIDIA pod 会无序启动,导致一些 pod 处于 RunContainerError 状态。

  • 修复了驱动程序容器在 linux-gke 内核的系统上由于找不到内核头文件而无法安装的问题。

已知限制#

  • 卸载 GPU Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新安装 GPU Operator 之前,请重新启动节点或使用 sudo rmmod nvidia nvidia_modeset nvidia_uvm 命令强制删除它们。


1.1.0#

新功能#

  • DCGM 现在作为 OpenShift 4.3 上 GPU Operator 的一部分部署。

改进#

  • operator CRD 已重命名为 ClusterPolicy

  • operator 镜像现在基于 UBI8。

  • Helm chart 已重构以修复问题并遵循一些最佳实践。

修复的问题#

  • 修复了 toolkit 容器会在 /run/nvidia 下使用指向 /usr/local/nvidia 的符号链接设置 NVIDIA 运行时的问题。如果节点重启,这将阻止任何容器使用 Docker 运行,因为在 /etc/docker/daemon.json 中配置的容器运行时在重启后将不可用。

  • 修复了 CRD 创建和注册的竞争条件。


1.0.0#

新功能#

  • 增加了对 Helm v3 的支持。请注意,不再支持使用 Helm v2 安装 GPU Operator。

  • 增加了对 Red Hat OpenShift 4(4.1、4.2 和 4.3)的支持,在 GPU 工作节点上使用 Red Hat Enterprise Linux Core OS (RHCOS) 和 CRI-O 运行时。

  • GPU Operator 现在为 Ubuntu 18.04 LTS 上的 GPU 遥测部署 NVIDIA DCGM

修复的问题#

  • 驱动程序容器现在设置 i2cipmi_msghandler 模块所需的依赖项。

  • 修复了验证步骤(对于驱动程序和设备插件)花费大量时间的问题。节点配置时间现在提高了 5 倍。

  • SRO 自定义资源定义设置为 operator 的一部分。

  • 修复了从集群中删除 operator 时清理驱动程序挂载文件的问题。此问题过去需要重启节点,现在不再需要。

已知限制#

  • 卸载 GPU Operator 后,NVIDIA 驱动程序模块可能仍然加载。重新安装 GPU Operator 之前,请重新启动节点或使用 sudo rmmod nvidia nvidia_modeset nvidia_uvm 命令强制删除它们。