在 PCS 中使用 Slurm REST API 进行作业管理 AWS - AWS PC

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 PCS 中使用 Slurm REST API 进行作业管理 AWS

Slurm REST API 概述

Slurm REST API 通过 HTTP 请求提供对集群管理功能的编程访问。了解这些关键特征将有助于您有效地将 API 与 AWS PCS 配合使用:

  • 访问协议:API 使用 HTTP(不是 HTTPS)在集群的私有网络内进行通信。

  • 连接详情:使用集群的私有 IP 地址和slurmrestd端口(通常为 6820)访问 API。完整的基本 URL 格式为http://<privateIpAddress>:6820

  • API 版本控制:API 版本与你的 Slurm 安装相对应。对于 Slurm 25.05,请使用 v0.0.43 版本。版本号会随着每个 Slurm 版本而变化。您可以在 Slurm 发行说明中找到当前支持的 API 版本。

  • 网址结构:Slurm REST API 的网址结构是。http://<privateIpAddress>:<port>/<api-version>/<endpoint>REST API 端点的详细使用信息可以在 Slurm 文档中找到。

有关使用 Slurm REST API 的具体信息,请参阅 REST 客户端 Sl urm 文档。

先决条件

在使用 Slurm REST API 之前,请确保您已具备以下条件:

  • 集群配置:启用 Slurm 25.05+ 且启用 REST API 的 AWS PCS 集群。

  • 身份验证:具有正确用户身份声明的有效 JWT 令牌。

  • 网络访问:通过允许端口 6820 的安全组在集群的 VPC 内进行连接。

过程

使用 REST API 提交作业
  1. 使用所需参数创建任务提交请求:

    { "job": { "name": "my-job", "partition": "compute", "nodes": 1, "tasks": 1, "script": "#!/bin/bash\necho 'Hello from Slurm REST API'", "environment": ["PATH=/usr/local/bin:/usr/bin:/bin"] } }
  2. 使用 HTTP POST 请求提交任务:

    curl -X POST \ -H "Authorization: Bearer <jwt>" \ -H "Content-Type: application/json" \ -d '<job-json>' \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/submit
  3. 出于监控目的,请记下响应中返回的任务 ID。

监视作业状态
  1. 获取有关特定工作的信息:

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id>
  2. 列出经过身份验证的用户的所有作业:

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/jobs
取消作业
  • 发送 DELETE 请求以取消特定任务:

    curl -X DELETE -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id>