要使开发人员能够在 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 主机

对于启用了工作负载管理的 vCenter 集群中的每个 ESXi 主机,请通过启用直接共享和 SR-IOV 为 NVIDIA vGPU 配置主机。

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

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

要启用 直接共享,请完成以下步骤。有关其他指导,请参见 在 vSphere 上配置虚拟图形
  1. 使用 vSphere Client 登录 vCenter Server
  2. 选择 vCenter 集群中的 ESXi 主机。
  3. 选择配置 > 硬件 > 图形 > 图形设备
  4. 选择 NVIDIA GPU 加速器设备。
  5. 编辑图形设备设置。
  6. 选择直接共享
  7. 对于共享直通 GPU 分配策略,为获得最佳性能,请选择将虚拟机分散在多个 GPU 中
  8. 单击确定保存配置。
  9. 请注意,这些设置将在重新启动主机后生效。
  10. 右键单击 ESXi 主机,然后将其置于维护模式。
  11. 重新引导主机。
  12. 当主机再次运行时,将其退出维护模式。
  13. 对支持工作负载管理的 vSphere 集群中的每个 ESXi 主机重复此过程。

为 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 服务 集群
注: 如果您的 vSphere 集群已启用 工作负载管理,请跳过此步骤,即假设该集群使用为 vGPU 配置的 ESXi 主机。

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

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

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

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

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

创建包含 vGPU 配置文件的自定义虚拟机类。然后,将在集群规范中使用此虚拟机类创建 TKGS 集群节点。请参阅以下说明:为 NVIDIA vGPU 设备创建自定义虚拟机类

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

为计划置备的每个 TKG vGPU 集群创建一个 vSphere 命名空间。请参见创建 vSphere 命名空间 以托管 TKG 服务 集群

通过添加具有编辑权限的 vSphere SSO 用户/组来配置 vSphere 命名空间,并为持久卷附加一个存储策略。请参见为 TKG 服务 集群配置 vSphere 命名空间

将存储了所需 Ubuntu 映像的 TKR 内容库与 vSphere 命名空间 相关联。请参见将 TKR 内容库与 TKG 服务 关联

将自定义虚拟机类与 vSphere 命名空间 相关联。
  • 在“选择 vSphere 命名空间”中,选择虚拟机服务图标,然后单击管理虚拟机类
  • 在类列表中找到您创建的自定义虚拟机类。
  • 选择(选中)该类,然后单击添加
有关其他指导,请参见 将虚拟机类与 vSphere 命名空间 关联

管理员步骤 10:验证 主管 是否就绪

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

请参见使用 vCenter SSO 身份验证连接到 TKG 服务 集群