Kubernetes 包括使用设备插件管理集群中不同节点的图形处理单元 (GPU) 的支持。
在 ArcGIS Enterprise on Kubernetes 中,可以部署设备插件来启用集群中的 GPU 节点以优化 GIS 工作流,例如与栅格分析和深度学习相关的工作流。 默认情况下,栅格分析等功能配置为在 CPU 模式下运行,但当这些资源可用时,也可以灵活地在 GPU 模式下运行。 请考虑工作负载是否将从使用支持 GPU 的节点中受益,因为这些节点类型的使用成本一般更高。
请确保您拥有充足的 GPU 资源以供所有支持 GPU 的工作负载使用。 例如,单个栅格分析 Pod 将消耗 1 个 GPU。 要支持这些 Pod 的 10 个副本,支持 GPU 的节点上需要 10 个可用的 GPU。
启用 GPU
要为工作负载启用 GPU,请完成以下步骤:
- 验证您的实例是否安装了 Kubernetes 的 NVIDIA 设备插件。
Kubernetes 的 NVIDIA 设备插件是一个守护进程集,允许您公开集群中每个节点上的 GPU 数量、运行支持 GPU 的容器以及跟踪 GPU 的运行状况。 许多云环境都预先配置了 GPU 节点。 如果未安装设备插件,请参阅 Kubernetes 文档的 NVIDIA 设备插件了解详细信息和安装步骤。 如果您已在本地部署,则管理员必须在群集中的每个节点上启用 GPU。
注:
在此版本中,ArcGIS Enterprise on Kubernetes 仅支持 NVIDIA GPU。
- 或者,为 GPU 节点创建自定义标注。
建议您标注 GPU 节点,以便通过 Pod 部署位置规则将工作负载调度到这些节点。 使用以下命令标注每个节点:
kubectl label nodes <your-node-name> <your-key>=<your-value> - 配置服务以使用 GPU。
如果要为笔记本服务启用 GPU,请参阅查看和编辑运行时以了解有关设置每个节点的 GPU 单元的信息。 如果要为栅格分析启用 GPU,请参阅为栅格分析启用 GPU 资源。
- 可以选择使用污点,以确保仅将需要 GPU 的工作负载调度到支持 GPU 的节点。
在为节点设置污点前,对任何应运行在支持 GPU 的节点上的工作负载应用容忍度。 使用以下命令为 GPU 节点设置污点:
kubectl taint nodes <your-node-name> nvidia.com/gpu=Exists:NoExecute