在 AWS PCS 中使用 Slurm REST API 進行任務管理 - AWS PCS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 AWS PCS 中使用 Slurm REST API 進行任務管理

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 版本

  • URL 結構:Slurm REST API 的 URL 結構為 http://<privateIpAddress>:<port>/<api-version>/<endpoint>。您可以在 Slurm 文件中找到 REST API 端點的詳細用量資訊。

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