本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 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>:6820API 版本控制:API 版本与你的 Slurm 安装相对应。对于 Slurm 25.05,请使用 v0.0.43 版本。版本号会随着每个 Slurm 版本而变化。您可以在 Slurm 发行
说明中找到当前支持的 API 版本。 网址结构:Slurm REST API 的网址结构是。
http://REST API 端点的详细使用信息可以在 Slurm<privateIpAddress>:<port>/<api-version>/<endpoint>文档中找到。
有关使用 Slurm REST API 的具体信息,请参阅 REST 客户端 Sl
先决条件
在使用 Slurm REST API 之前,请确保您已具备以下条件:
-
集群配置:启用 Slurm 25.05+ 且启用 REST API 的 AWS PCS 集群。
-
身份验证:具有正确用户身份声明的有效 JWT 令牌。
-
网络访问:通过允许端口 6820 的安全组在集群的 VPC 内进行连接。
过程
使用 REST API 提交作业
-
使用所需参数创建任务提交请求:
{ "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"] } } -
使用 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 -
出于监控目的,请记下响应中返回的任务 ID。
监视作业状态
-
获取有关特定工作的信息:
curl -X GET -H "Authorization: Bearer<jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id> -
列出经过身份验证的用户的所有作业:
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>