Kubernetes 包括使用设备插件管理集群中不同节点的图形处理单元 (GPU) 的支持。
在 ArcGIS Enterprise on Kubernetes 中,可以部署设备插件来启用集群中的 GPU 节点以优化 GIS 工作流,例如与栅格分析和深度学习相关的工作流。 默认情况下,栅格分析等功能配置为在 CPU 模式下运行,但当这些资源可用时,也可以灵活地在 GPU 模式下运行。
建议考虑集群中 GPU 的可用性和利用率,因为它会产生额外的成本。
要启用 GPU,需要 Kubernetes 的 NVIDIA 设备插件。 Kubernetes 的 NVIDIA 设备插件是一个守护进程集,允许您公开集群中每个节点上的 GPU 数量、运行支持 GPU 的容器以及跟踪 GPU 的运行状况。
注:
在此版本中,ArcGIS Enterprise on Kubernetes 仅支持 NVIDIA GPU。
启用 GPU
要为您的组织启用 GPU,请完成以下特定于您的环境和首选项的步骤:
- 完成以下步骤,以配置栅格分析、笔记本服务或其他要使用支持 GPU 的节点的功能。
- 验证您的实例是否安装了设备插件。
许多云环境都预先配置了 GPU 节点。 如果未安装设备插件,请参阅 Kubernetes 文档的 NVIDIA 设备插件了解详细信息和安装步骤。 如果您已在本地部署,则管理员必须在群集中的每个节点上启用 GPU。
- 要将支持 GPU 的节点用于组织的 GIS 工作流,请配置 GPU 资源的访问权限。
- 或者,要在 GPU 节点上专门运行 GPU 工作负载,请配置节点亲和性和容忍度。
配置 GPU 资源的访问权限
如果要为笔记本服务启用 GPU,请参阅查看和编辑运行时以了解有关设置每个节点的 GPU 单元的信息。
如果要为栅格分析启用 GPU,请完成以下步骤,以使用 ArcGIS Enterprise Administrator API 目录为以下每个部署设置 GPU 请求和限制:
- system-rasteranalysistools-gpsyncserver(用于训练模型)
- system-rasterprocessinggpu-dpserver(用于处理的操作系统)
- 以管理员身份登录到 ArcGIS Enterprise Administrator API 目录。
- 单击系统 > 部署。
- 找到 system-rasteranalysistools-gpsyncserver 部署并单击其对应的 ID。
- 单击编辑部署。
- 在部署 JSON 中,找到该部署和 customResources 参数的 resources 部分。
"containers": [ { "name": "main-container", "resources": { "memoryMin": "4Gi", "memoryMax": "8Gi", "cpuMin": "0.125", "customResources": { "limits":{"nvidia.com/gpu": "1"}, "requests":{"nvidia.com/gpu": "1"} }, "cpuMax": "2" },
- 更新列出的每个容器的 customResources 参数以包含 GPU 的请求和限制。
- 单击提交以保存对部署的编辑。
- 重复 system-rasterprocessinggpu-dpserver 部署的步骤。
在管理员目录 API 文档中了解如何编辑系统部署。
配置节点亲和性和容忍度
GPU 节点可以同时运行 CPU 和 GPU 工作负载。 如果您的 CPU 工作负载允许在 GPU 节点上运行,则无需采取进一步措施。 但是,要确保 GPU 工作负载仅在 GPU 节点上运行,则您的管理员必须采取额外步骤来配置节点亲和性和容忍度。 请完成以下步骤以对节点进行污点标记,并为适用的服务应用容忍度,以便它们可以在带有污点的节点上进行调度:
- 为了确保 GPU 工作负载专门安排在 GPU 节点上,请对 GPU 节点进行污点标记。
kubectl taint nodes <your-node-name> nvidia.com/gpu=Exists:NoExecute
- 标记 GPU 节点。 或者,使用节点上已指定的现有标签。
要使用适用于栅格分析的键 raster 和值 GPU 标记节点,请使用以下命令:
kubectl label nodes <your-node-name> raster=GPU
要使用适用于笔记本服务的键 notebook 和值 NotebooksGPUNode 标记节点,请使用以下命令:
kubectl label nodes <your-node-name> notebook=NotebooksGPUNode
- 以管理员身份登录到 ArcGIS Enterprise Manager。
- 打开 pod 部署位置设置。
如果要为笔记本服务启用 GPU,请参阅查看和编辑运行时以了解有关访问 pod 部署位置设置的信息。
要访问适用于栅格分析的 pod 部署位置设置,请完成以下步骤:
- 在侧边栏中,单击服务按钮。
- 单击系统服务,然后选择 RasterProcessingGPU 服务。
- 单击 Pod 部署位置选项卡。
- 要应用节点亲和性规则,该规则可确保在 GPU 节点上调度服务的 Pod,请在节点亲和性部分中提供以下信息,然后单击添加:
- 类型 - 必选
- 键 - 指定用于标注 GPU 节点的键,例如 raster。
- 运算符 - In
- 值 - 指定用于标注 GPU 节点的值,例如 GPU。
- 要应用容忍度以允许 pod 在将要设置污点的节点上运行,请在容忍度部分中提供以下信息,然后单击添加:
- 效果 - 不执行
- 键 - nvidia.com/gpu
- 运算符 - Exists
- 单击保存。
- 验证 GPU pod 是否在 GPU 节点上运行。
您可以开始将 GPU 资源用于您的工作负载。 此外,请参阅调整栅格分析的建议。