本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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>:6820API 版本控制:API 版本對應於您的 Slurm 安裝。對於 Slurm 25.05,請使用版本 v0.0.43。版本編號會隨每個 Slurm 版本而變更。您可以在 Slurm 版本備註中找到目前支援的 API 版本
。 URL 結構:Slurm REST API 的 URL 結構為
http://。您可以在 Slurm 文件<privateIpAddress>:<port>/<api-version>/<endpoint>中找到 REST API 端點的詳細用量資訊。
如需使用 Slurm REST API 的特定資訊,請參閱 REST 用戶端 Slurm 文件
先決條件
使用 Slurm REST API 之前,請確定您已:
-
叢集組態:已啟用 Slurm 25.05+ 和 REST API 的 AWS PCS 叢集。
-
身分驗證:具有適當使用者身分宣告的有效 JWT 字符。
-
網路存取:叢集 VPC 內的連線,以及允許連接埠 6820 的安全群組。
程序
使用 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>