Verwendung der Slurm-REST-API für die Auftragsverwaltung in PCS AWS - AWS PCS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung der Slurm-REST-API für die Auftragsverwaltung in PCS AWS

Überblick über die Slurm-REST-API

Die Slurm-REST-API bietet programmatischen Zugriff auf Cluster-Management-Funktionen über HTTP-Anfragen. Wenn Sie diese Hauptmerkmale verstehen, können Sie die API mit AWS PCS effektiv nutzen:

  • Zugriffsprotokoll: Die API verwendet HTTP (nicht HTTPS) für die Kommunikation innerhalb des privaten Netzwerks Ihres Clusters.

  • Verbindungsdetails: Greifen Sie über die private IP-Adresse Ihres Clusters und den slurmrestd Port (normalerweise 6820) auf die API zu. Das vollständige Basis-URL-Format isthttp://<privateIpAddress>:6820.

  • API-Versionierung: Die API-Version entspricht Ihrer Slurm-Installation. Verwenden Sie für Slurm 25.05 Version v0.0.43. Die Versionsnummer ändert sich mit jeder Slurm-Version. Die derzeit unterstützten API-Versionen finden Sie in den Slurm-Versionshinweisen.

  • URL-Struktur: Die URL-Struktur für die Slurm-REST-API lautet. http://<privateIpAddress>:<port>/<api-version>/<endpoint> Detaillierte Nutzungsinformationen für REST-API-Endpunkte finden Sie in der Slurm-Dokumentation.

Spezifische Informationen zur Arbeit mit der Slurm-REST-API finden Sie in der Slurm-Dokumentation des REST-Clients.

Voraussetzungen

Bevor Sie die Slurm-REST-API verwenden, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Cluster-Konfiguration: AWS PCS-Cluster mit Slurm 25.05+ und aktivierter REST-API.

  • Authentifizierung: Gültiges JWT-Token mit korrekten Angaben zur Benutzeridentität.

  • Netzwerkzugriff: Konnektivität innerhalb der VPC Ihres Clusters mit einer Sicherheitsgruppe, die Port 6820 zulässt.

Verfahren

Um einen Job mit der REST-API einzureichen
  1. Erstellen Sie eine Anfrage zur Einreichung eines Jobs mit den erforderlichen Parametern:

    { "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. Reichen Sie den Job mit einer HTTP-POST-Anfrage ein:

    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. Notieren Sie sich die in der Antwort zurückgegebene Job-ID zu Überwachungszwecken.

Um den Jobstatus zu überwachen
  1. Informationen zu einem bestimmten Job abrufen:

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id>
  2. Listet alle Jobs für den authentifizierten Benutzer auf:

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/jobs
So brechen Sie einen Auftrag ab
  • Senden Sie eine DELETE-Anfrage, um einen bestimmten Job zu stornieren:

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