View a markdown version of this page

使用 Slurm REST API 进行任务管理 AWS 个 - AWS 个

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

使用 Slurm REST API 进行任务管理 AWS 个

Slurm REST API 概述

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

  • 访问协议: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 的 URL 结构是。http://<privateIpAddress>:<port>/<api-version>/<endpoint>REST API 端点的详细使用信息可以在 Slurm文档中找到。

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

先决条件

在使用 Slurm REST API 之前,请确保您有:

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

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

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

过程

使用 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>