步骤 2:设置所需基础设施#

鱼叉式网络钓鱼

NVIDIA AI 工作流程旨在云原生、基于 Kubernetes 的平台上部署,该平台可以部署在本地或使用云服务提供商 (CSP)。

为工作流程设置的基础设施堆栈应遵循下图

../_images/ai-workflow-stack.png

按照以下部分中的说明设置所需的基础设施(以蓝色和灰色框表示),这些基础设施将在步骤 3:安装工作流程组件(以绿色框表示)中使用。

GPU 加速硬件基础设施#

NVIDIA AI 工作流程至少需要一个启用 GPU 的节点来运行提供的示例工作负载。生产部署应在高可用性 (HA) 环境中执行。

建议此工作流程使用以下 GPU 加速节点硬件规格

  • 2 个 T4/A10/A30/A40/A100(或更新型号)GPU,具有大于或等于 16 GB 的内存

  • 32 个 vCPU 核心

  • 128 GB 内存

  • 1 TB 硬盘

记下这些硬件规格,因为您将在以下部分中使用它们来配置 Kubernetes 集群中使用的节点。

注意

Kubernetes 集群和云原生服务附加组件包可能对网络、存储、服务等有额外的基础设施要求。更多详细信息可以在NVIDIA 云原生服务附加组件包部署指南中找到。

Kubernetes 集群#

该工作流程需要预配一个 NVIDIA AI Enterprise 支持的 Kubernetes 集群。

云原生服务附加组件包目前仅支持 NVIDIA AI Enterprise 支持的 Kubernetes 发行版的子集。可以在NVIDIA 云原生服务附加组件包部署指南中找到特定的支持发行版以及预配集群的步骤。

在指南此处中可以找到基于 NVIDIA AI Enterprise VMI 和 NVIDIA Cloud Native Stack 预配最小集群的示例参考。

注意

如果您的实例只有一个 GPU,您将必须启用 GPU 共享。为此,请在您的实例上运行以下命令

 1cat << EOF >> time-slicing-config.yaml
 2apiVersion: v1
 3kind: ConfigMap
 4metadata:
 5  name: time-slicing-config
 6  namespace: nvidia-gpu-operator
 7data:
 8  any: |-
 9    version: v1
10    flags:
11      migStrategy: none
12    sharing:
13      timeSlicing:
14        renameByDefault: false
15        failRequestsGreaterThanOne: false
16        resources:
17          - name: nvidia.com/gpu
18            replicas: 4
19EOF
20
21kubectl create -f time-slicing-config.yaml
22
23kubectl patch clusterpolicy/cluster-policy -n nvidia-gpu-operator --type merge -p '{"spec": {"devicePlugin": {"config": {"name": "time-slicing-config"}}}}'
24
25kubectl patch clusterpolicy/cluster-policy -n nvidia-gpu-operator --type merge -p '{"spec": {"devicePlugin": {"config": {"name": "time-slicing-config", "default": "any"}}}}'

NVIDIA 云原生服务附加组件包#

Kubernetes 集群预配完成后,继续NVIDIA 云原生服务附加组件包部署指南中的下一步,以在集群上部署附加组件包。

可以此处找到遵循上一节中的示例参考。

工作流程组件#

所有工作流程组件都集成并部署在先前描述的基础设施堆栈之上作为起点。然后,可以根据需要自定义工作流程并将其与自己的特定环境集成。

安装附加组件包后,继续步骤 3:安装工作流程组件以继续设置工作流程。