Utilisation de l'API REST de Slurm pour la gestion des tâches sur PCS AWS - AWS PC

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'API REST de Slurm pour la gestion des tâches sur PCS AWS

Présentation de l'API REST de Slurm

L'API REST de Slurm fournit un accès programmatique aux fonctions de gestion des clusters par le biais de requêtes HTTP. La compréhension de ces caractéristiques clés vous aidera à utiliser efficacement l'API avec AWS PCS :

  • Protocole d'accès : L'API utilise le protocole HTTP (et non HTTPS) pour les communications au sein du réseau privé de votre cluster.

  • Détails de connexion : accédez à l'API à l'aide de l'adresse IP privée de votre cluster et du slurmrestd port (généralement 6820). Le format d'URL de base complet esthttp://<privateIpAddress>:6820.

  • Versionnage de l'API : La version de l'API correspond à votre installation de Slurm. Pour Slurm 25.05, utilisez la version v0.0.43. Le numéro de version change à chaque sortie de Slurm. Vous trouverez les versions d'API actuellement prises en charge dans les notes de mise à jour de Slurm.

  • Structure d'URL : La structure d'URL de l'API REST de Slurm est. http://<privateIpAddress>:<port>/<api-version>/<endpoint> Des informations détaillées sur l'utilisation des points de terminaison de l'API REST sont disponibles dans la documentation de Slurm.

Pour des informations spécifiques sur l'utilisation de l'API REST de Slurm, consultez la documentation du client REST Slurm.

Conditions préalables

Avant d'utiliser l'API REST de Slurm, assurez-vous d'avoir :

  • Configuration du cluster : cluster AWS PCS avec Slurm 25.05+ et API REST activée.

  • Authentification : jeton JWT valide avec des demandes d'identité utilisateur appropriées.

  • Accès réseau : connectivité au sein du VPC de votre cluster avec un groupe de sécurité autorisant le port 6820.

Procédure

Pour soumettre une tâche à l'aide de l'API REST
  1. Créez une demande de soumission de travail avec les paramètres requis :

    { "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. Soumettez la tâche à l'aide d'une requête 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. Notez l'ID de tâche renvoyé dans la réponse à des fins de surveillance.

Pour surveiller l'état d'avancement du travail
  1. Obtenez des informations sur un poste spécifique :

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id>
  2. Répertoriez toutes les tâches pour l'utilisateur authentifié :

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/jobs
Pour annuler une tâche
  • Envoyez une demande DELETE pour annuler une tâche spécifique :

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