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.
Häufig gestellte Fragen zur Slurm-REST-API in AWS STCK
In diesem Abschnitt werden häufig gestellte Fragen zur Slurm-REST-API in AWS PCS beantwortet.
- Was ist die Slurm-REST-API?
-
Die Slurm REST-API ist eine HTTP-Schnittstelle, die es Ihnen ermöglicht, programmgesteuert mit dem Slurm Workload Manager zu interagieren. Sie können Standard-HTTP-Methoden wie GET, POST und DELETE verwenden, um Jobs einzureichen, den Cluster-Status zu überwachen und Ressourcen zu verwalten, ohne dass ein Befehlszeilenzugriff auf den Cluster erforderlich ist.
- Kann ich Tokens verwenden, die von generiert wurden?
scontrol token -
Nein, die
scontrol tokenStandardausgabe ist nicht mit AWS PCS kompatibel. Die PCS Slurm REST-API erfordert erweiterte JWT-Token, die spezifische Identitätsansprüche enthalten, darunter username (sun), POSIX-Benutzer-ID (uid) und Gruppen-IDs ().gidsStandard-Slurm-Token haben diese erforderlichen Ansprüche nicht und werden von der API abgelehnt. - Kann ich von außerhalb meiner VPC auf die API zugreifen?
-
Nein, der REST-API-Endpunkt ist nur von Ihrer VPC aus über die private IP-Adresse des Slurm-Controllers zugänglich. Um den externen Zugriff zu ermöglichen, implementieren Sie AWS Dienste wie Application Load Balancer mit VPC Link, API Gateway oder richten Sie VPC-Peering- oder VPN-Verbindungen für sichere Konnektivität ein.
- Warum verwendet die API HTTP statt HTTPS?
-
Die Slurm-REST-API soll ein interner Endpunkt im privaten Netzwerk Ihres Clusters sein. Für Produktionsbereitstellungen, die eine Verschlüsselung erfordern, können Sie die SSL/TLS Terminierung auf einer höheren Ebene in Ihrer Architektur implementieren, z. B. über ein API-Gateway, einen Load Balancer oder einen Reverse-Proxy.
- Wie kontrolliere ich den Zugriff auf die REST-API?
-
Konfigurieren Sie die Sicherheitsgruppenregeln Ihres Clusters, um den Zugriff auf Port 6820 auf dem Slurm-Controller einzuschränken. Legen Sie Regeln für eingehenden Verkehr fest, um nur Verbindungen von vertrauenswürdigen IP-Bereichen oder bestimmten Quellen innerhalb Ihrer VPC zuzulassen und so den unbefugten Zugriff auf den API-Endpunkt zu blockieren.
- Wie rotiere ich den JWT-Signaturschlüssel?
-
Versetzen Sie Ihren Cluster in den Wartungsmodus ohne aktive Instanzen und initiieren Sie dann die Schlüsselrotation über AWS Secrets Manager. Aktivieren Sie die Warteschlangen nach Abschluss der Rotation erneut. Alle vorhandenen JWT-Token werden ungültig und müssen mit dem neuen Signaturschlüssel von Secrets Manager neu generiert werden.
- Muss das Slurm-Konto aktiviert sein, um die REST-API verwenden zu können?
-
Nein, die Slurm-Buchhaltung ist für grundlegende REST-API-Operationen wie die Einreichung und Überwachung von Aufträgen nicht erforderlich. Für den gesamten
/slurmdbEndpunkt muss die Buchhaltung jedoch aktiv sein. - Welche Tools von Drittanbietern funktionieren mit der AWS PCS REST-API?
-
Viele bestehende Slurm-REST-API-Clients sollten mit AWS PCS funktionieren, einschließlich Slurm Exporter für Prometheus und benutzerdefinierte Anwendungen SlurmWeb, die dem Standardformat der Slurm-REST-API folgen. Tools, die sich auf die Authentifizierung verlassen, müssen jedoch geändert werden,
scontrol tokenum den PCS-JWT-Anforderungen gerecht zu werden. AWS - Gibt es zusätzliche Kosten für die Nutzung der REST-API?
-
Nein, es fallen keine zusätzlichen Gebühren für die Aktivierung oder Nutzung der Slurm REST-API-Funktion an. Sie zahlen wie gewohnt nur für die zugrunde liegenden Cluster-Ressourcen.
- Wie kann ich Probleme mit der REST-API beheben?
-
-
Probleme mit der Netzwerkkonnektivität
Wenn Sie den API-Endpunkt nicht erreichen können, treten bei HTTP-Anfragen an den Cluster-Controller Zeitüberschreitungen oder Fehler „Verbindung verweigert“ auf.
Was zu tun ist: Stellen Sie sicher, dass sich Ihr Client in derselben VPC befindet oder über ein korrektes Netzwerkrouting verfügt, und stellen Sie sicher, dass Ihre Sicherheitsgruppe HTTP-Verkehr von Ihrer Quell-IP oder Ihrem Subnetz auf Port 6820 zulässt.
-
Probleme mit der Slurm-REST-Authentifizierung
Wenn Ihr JWT-Token ungültig, abgelaufen oder falsch signiert ist, geben API-Anfragen im Fehlerfeld der Antwort „Protokollauthentifizierungsfehler“ zurück.
Beispiel für eine Fehlermeldung:
{ "errors": [ { "description": "Batch job submission failed", "error_number": 1007, "error": "Protocol authentication error", "source": "slurm_submit_batch_job()" } ] }Was zu tun ist: Vergewissern Sie sich, dass Ihr JWT-Token richtig formatiert, nicht abgelaufen und mit dem richtigen Schlüssel von Secrets Manager signiert ist. Stellen Sie sicher, dass das Token ordnungsgemäß formatiert ist und die erforderlichen Ansprüche enthält und dass Sie das richtige Header-Format für die Authentifizierung verwenden.
-
Der Auftrag kann nach dem Absenden nicht ausgeführt werden
Wenn Ihr JWT-Token gültig ist, aber eine falsche interne Struktur oder einen falschen Inhalt enthält, sind Jobs möglicherweise in den Status pausiert (
PD) mit Ursachencode übergegangen.JobAdminHeadVerwenden Siescontrol show job, um den Job zu überprüfen — Sie werden sehen<job-id>JobState=PENDING, Reason=JobHeldAdmin, und.SystemComment=slurm_cred_create failure, holding jobWas zu tun ist: Die Hauptursache können falsche Werte in JWT sein. Stellen Sie sicher, dass das Token ordnungsgemäß strukturiert ist und die erforderlichen Ansprüche gemäß der PCS-Dokumentation enthält.
-
Probleme mit den Zugriffsrechten für das Arbeitsverzeichnis
Wenn die in Ihrem JWT angegebene Benutzeridentität keine Schreibberechtigungen für das Arbeitsverzeichnis des Jobs hat, schlägt der Job mit Berechtigungsfehlern fehl, ähnlich wie bei der Verwendung
sbatch --chdirmit einem Verzeichnis, auf das nicht zugegriffen werden kann.Was zu tun ist: Stellen Sie sicher, dass der in Ihrem JWT-Token angegebene Benutzer über die entsprechenden Berechtigungen für das Arbeitsverzeichnis des Jobs verfügt.
-
Haben Sie immer noch Probleme?
-
Lesen Sie die Dokumentation von SchedMD
zur REST-API-Spezifikation. -
Weitere Informationen zu Fehlern finden Sie in den Slurm-Controller-Protokollen (weitere Informationen finden Sie unterScheduler loggt sich in AWS PCS ein).
-
-