要使开发人员能够在 TKG 集群上部署 AI/ML 工作负载,vSphere 管理员应设置 主管 环境以支持 NVIDIA GPU 硬件。

管理员步骤 1:查看系统要求

根据以下系统要求设置环境,以便能够在 TKG 集群上部署 AI/ML 工作负载。
要求 描述

vSphere 8 基础架构

vCenter Server 和 ESXi 主机

工作负载管理许可证

vSphere 命名空间和 主管

TKR Ubuntu OVA

Tanzu Kubernetes 版本发行说明

NVIDIA vGPU 主机驱动程序

NGC 网站下载 VIB。有关详细信息,请参见 vGPU 软件驱动程序文档

用于 vGPU 的 NVIDIA 许可证服务器

您的组织提供的 FQDN

管理员步骤 2:在 ESXi 主机上安装受支持的 NVIDIA GPU 设备

要在 TKG 上部署 AI/ML 工作负载,应在要启用工作负载管理的 vCenter 集群中的每个 ESXi 主机上安装一个或多个受支持的 NVIDIA GPU 设备。

要查看兼容的 NVIDIA GPU 设备,请参阅 VMware 兼容性指南

兼容的 NVIDIA GPU 设备列表。单击 GPU 设备型号可查看更多详细信息并订阅 RSS 源。

NVIDA GPU 设备应支持最新的 NVIDIA AI Enterprise (NVAIE) vGPU 配置文件。有关指导,请参阅 NVIDIA 虚拟 GPU 软件支持的 GPU 文档。

例如,以下 ESXi 主机上安装了两个 NVIDIA GPU A100 设备。

vSphere Client 中的“图形设备”选项卡列出了 NVIDIA GPU A100 设备。

管理员步骤 3:针对 vGPU 操作配置每个 ESXi 主机

通过启用直接共享和 SR-IOV,配置 vGPU 的每个 ESXi 主机。

在每个 ESXi 主机上启用直接共享

要解锁 NVIDIA vGPU 功能,请在将启用工作负载管理的 vCenter 集群中的每个 ESXi 主机上启用直接共享模式。

要启用 直接共享,请完成以下步骤。有关其他指导,请参见 vSphere 文档中的 配置图形设备
  1. 使用 vSphere Client 登录 vCenter Server
  2. 选择 vCenter 集群中的 ESXi 主机。
  3. 选择配置 > 硬件 > 图形
  4. 选择 NVIDIA GPU 加速器设备。
  5. 编辑图形设备设置。
  6. 选择直接共享
  7. 选择重新启动 X.Org 服务器。
  8. 单击确定保存配置。
  9. 右键单击 ESXi 主机,然后将其置于维护模式。
  10. 重新引导主机。
  11. 当主机再次运行时,将其退出维护模式。
  12. 对将启用工作负载管理的 vCenter 集群中的每个 ESXi 主机重复此过程。

“编辑图形设备设置”页面,其中选中“直接共享”和“重新启动 X.Org”服务器选项。

vSphere Client 中的“图形设备”选项卡列出启用了“直接共享”模式的 NVIDIA GPU A100 设备。

为 NVIDIA GPU A30 和 A100 设备启用 SR-IOV BIOS

如果使用多实例 GPU(MIG 模式)所需的 NVIDIA A30A100 GPU 设备,则必须在 ESXi 主机上启用 SR-IOV。如果未启用 SR-IOV,Tanzu Kubernetes 集群节点虚拟机将无法启动。如果发生这种情况,您会在启用了工作负载管理vCenter Server近期任务窗格中看到以下错误消息。

Could not initialize plugin libnvidia-vgx.so for vGPU nvidia_aXXX-xx. Failed to start the virtual machine. Module DevicePowerOn power on failed.

要启用 SR-IOV,请使用 Web 控制台登录到 ESXi 主机。选择管理 > 硬件。选择 NVIDIA GPU 设备,然后单击配置 SR-IOV。您可以从此处启用 SR-IOV。有关其他指导,请参见 vSphere 文档中的单根 I/O 虚拟化 (SR-IOV)

vGPU 和动态 DirectPath IO

如果要将 vGPU 与动态 DirectPath IO 一起使用,请执行以下其他配置。
  1. 使用 vSphere Client 登录 vCenter Server
  2. 选择 vCenter 集群中的目标 ESXi 主机。
  3. 选择配置 > 硬件 > PCI 设备
  4. 选择所有 PCI 设备选项卡。
  5. 选择目标 NVIDIA GPU 加速器设备。
  6. 单击切换直通
  7. 右键单击 ESXi 主机,然后将其置于维护模式。
  8. 重新引导主机。
  9. 当主机再次运行时,将其退出维护模式。

管理员步骤 4:在每个 ESXi 主机上安装 NVIDIA 主机管理器驱动程序

要运行具有 NVIDIA vGPU 图形加速的 Tanzu Kubernetes 集群节点虚拟机,请在将启用工作负载管理的 vCenter 集群中的每个 ESXi 主机上安装 NVIDIA 主机管理器驱动程序。

NVIDIA vGPU 主机管理器驱动程序组件打包在 vSphere 安装包 (VIB) 中。NVAIE VIB 由您的组织通过其 NVIDIA GRID 许可计划提供给您。VMware 既不提供 NVAIE VIB,也不提供它们的下载服务。根据 NVIDIA 许可计划,许可服务器由您的组织设置。有关详细信息,请参阅 NVIDIA 虚拟 GPU 软件快速入门指南

设置 NVIDIA 环境后,在每个 ESXi 主机上运行以下命令,将 NVIDIA 许可证服务器地址和 NVAIE VIB 版本替换为适合您环境的值。有关其他指导,请参见 VMware 技术支持知识库中的 在 ESXi 上安装和配置 NVIDIA VIB
注: 在 ESXi 主机上安装的 NVAIE VIB 版本必须与节点虚拟机上安装的 vGPU 软件版本相匹配。下面的版本仅作举例之用。
esxcli system maintenanceMode set --enable true
esxcli software vib install -v ftp://server.domain.example.com/nvidia/signed/NVIDIA_bootbank_NVIDIA-VMware_ESXi_7.0_Host_Driver_460.73.02-1OEM.700.0.0.15525992.vib
esxcli system maintenanceMode set --enable false
/etc/init.d/xorg restart

管理员步骤 5:验证 ESXi 主机是否已做好执行 NVIDIA vGPU 操作的准备

要验证每个 ESXi 主机是否都已准备好执行 NVIDIA vGPU 操作,请在将启用 工作负载管理的 vCenter 集群中的每个 ESXi 主机上执行以下检查:
  • 通过 SSH 登录到 ESXi 主机,进入 shell 模式,然后运行命令 nvidia-smi。NVIDIA 系统管理界面是由 NVIDA vGPU 主机管理器提供的命令行实用程序。运行此命令将返回主机上的 GPU 和驱动程序。
  • 运行以下命令以验证是否已正确安装 NVIDIA 驱动程序:esxcli software vib list | grep NVIDA
  • 验证主机是否配置了 GPU 直接共享并启用了 SR-IOV(如果使用的是 NVIDIA A30 或 A100 设备)。
  • 使用 vSphere Client,在为 GPU 配置的 ESXi 主机上创建一个包含 PCI 设备的新虚拟机。NVIDIA vGPU 配置文件应显示且可选择。“自定义硬件”选项卡,其中选中 NVIDIA vGPU 配置文件。

管理员步骤 6:启用工作负载管理

要启用 工作负载管理,请参见 在 主管 上部署 TKG 集群
注: 如果您的 vCenter 集群已启用 工作负载管理,请跳过此步骤,即假设该集群使用为 vGPU 配置的 ESXi 主机。

管理员步骤 7:使用 TKR Ubuntu 创建或更新内容库

NVIDIA vGPU 需要使用 Ubuntu 操作系统。不能对 vGPU 集群使用 PhotonOS 版本的 Tanzu Kubernetes

VMware 提供了 Ubuntu 版本的 Tanzu Kubernetes。从 vSphere 8 开始,集群 YAML 中会使用注释指定 Ubuntu 版本。

使用支持的 Ubuntu TKR 创建或更新现有内容库。请参见 管理用于 主管 上 TKG 集群的 Tanzu Kubernetes 版本
注: 如果您已在 vCenter 上配置了现有的 TKR 内容库,请跳过此步骤。不要为 TKR 创建第二个内容库。这样做可能会导致系统不稳定。

管理员步骤 8:创建包含 vGPU 配置文件的自定义虚拟机类

下一步是创建包含 vGPU 配置文件的自定义虚拟机类。系统在创建 Tanzu Kubernetes 集群节点时将使用此类定义。

按照以下说明创建包含 vGPU 配置文件的自定义虚拟机类。
  1. 使用 vSphere Client 登录到 vCenter Server
  2. 选择工作负载管理
  3. 选择服务
  4. 选择虚拟机类
  5. 单击创建虚拟机类
  6. 配置选项卡上,配置自定义虚拟机类。
    配置字段 描述
    名称 输入自定义虚拟机类的自描述性名称,例如 vmclass-vgpu-1
    vCPU 计数 2
    CPU 资源预留 可选,单击“确定”留空
    内存 例如 80 GB
    内存资源预留 100%(如果在虚拟机类中配置了 PCI 设备,则强制使用此值)
    PCI 设备
    注: 针对 PCI 设备选择“是”将告知系统您使用的是 GPU 设备,并将更改虚拟机类配置以支持 vGPU 配置。

    例如:

    ""

  7. 单击下一步
  8. PCI 设备选项卡上选择添加 PCI 设备 > NVIDIA vGPU 选项。
  9. 配置 NVIDIA vGPU 型号。
    NVIDIA vGPU 字段 描述
    型号 NVIDIA vGPU > 型号菜单所提供的型号中选择 NVIDIA GPU 硬件设备型号。如果系统未显示任何配置文件,表示集群中的所有主机都不具有受支持的 PCI 设备。
    GPU 共享

    此设置定义如何在启用了 GPU 的虚拟机之间共享 GPU 设备。vGPU 实施有两种类型:时间共享多实例 GPU 共享

    在时间共享模式下,vGPU 调度程序指示 GPU 在一段时间内按顺序为每个启用了 vGPU 的虚拟机执行工作,并将尽最大努力平衡各 vGPU 的性能。

    MIG 模式允许多个启用了 vGPU 的虚拟机在单个 GPU 设备上并行运行。MIG 模式基于较新的 GPU 架构,仅在 NVIDIA A100 和 A30 设备上受支持。如果没有看到 MIG 选项,表示您选择的 PCI 设备不支持该选项。

    GPU 模式 计算
    GPU 内存 例如 8 GB
    vGPU 数量 例如 1

    例如,以下是在时间共享模式下配置的 NVIDIA vGPU 配置文件:

    “PCI 设备”选项卡,带有在时间共享模式下配置的 NVIDIA vGPU 配置文件。

    例如,以下是在具有受支持 GPU 设备的情况下在 MIG 模式下配置的 NVIDIA vGPU 配置文件:

    “PCI 设备”选项卡,带有在多实例 GPU 共享模式下配置的 NVIDIA vGPU 配置文件。

  10. 单击下一步
  11. 查看并确认您的选择。
  12. 单击完成
  13. 验证虚拟机类列表中是否有新的自定义虚拟机类。

vGPU 和动态 DirectPath IO

如果要将 vGPU 与动态 DirectPath IO 一起使用,请完成以下其他配置。将第二个 PCI 设备配置添加到您创建的自定义虚拟机类中,并指定 动态 DirectPath IO,同时选择受支持的 PCI 设备。实例化此类型的虚拟机类时,将由 vSphere Distributed Resource Scheduler (DRS) 确定虚拟机放置。
  1. 选择工作负载管理
  2. 选择服务
  3. 选择虚拟机类
  4. 编辑配置了 NVIDIA vGPU 配置文件的自定义虚拟机类。
  5. 选择 PCI 设备选项卡。
  6. 单击添加 PCI 设备
  7. 选择动态 DirectPath IO 选项。

    ""

  8. 选择 PCI 设备

    例如:

    ""
  9. 单击下一步
  10. 查看并确认您的选择。
  11. 单击完成
  12. 验证虚拟机类列表中是否有新的自定义虚拟机类。

管理员步骤 9:创建和配置 vSphere 命名空间

为计划置备的每个 TKG vGPU 集群创建一个 vSphere 命名空间。通过添加具有编辑权限的 vSphere SSO 用户/组来配置 vSphere 命名空间,并为持久卷附加一个存储策略。将 TKR 内容库和自定义虚拟机类与 vSphere 命名空间 相关联。请参见为 主管 上的 TKG 集群配置 vSphere 命名空间

管理员步骤 10:验证主管集群是否可访问

最后一个管理任务是验证 主管 是否已置备,是否可供集群运维人员用于为 AI/ML 工作负载置备 TKG 集群。

请参见使用 vCenter SSO 身份验证连接到 主管 上的 TKG 集群