Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de la API REST de Slurm para la gestión de trabajos en AWS PC
Descripción general de la API REST de Slurm
La API REST de Slurm proporciona acceso programático a las funciones de administración de clústeres a través de solicitudes HTTP. La comprensión de estas características clave le ayudará a utilizar la API de forma eficaz con PCS: AWS
Protocolo de acceso: la API usa HTTP (no HTTPS) para la comunicación dentro de la red privada del clúster.
Detalles de la conexión: acceda a la API mediante la dirección IP privada de su clúster y el
slurmrestdpuerto (normalmente el 6820). El formato de URL base completo eshttp://.<privateIpAddress>:6820Control de versiones de API: la versión de la API corresponde a tu instalación de Slurm. Para Slurm 25.05, usa la versión v0.0.43. El número de versión cambia con cada lanzamiento de Slurm. Puedes encontrar las versiones de API compatibles actualmente en las notas de la versión de Slurm.
Estructura de URL: La estructura de URL de la API REST de Slurm es.
http://Puedes encontrar información detallada sobre el uso de los puntos finales de la API REST en la documentación de Slurm.<privateIpAddress>:<port>/<api-version>/<endpoint>
Para obtener información específica sobre cómo trabajar con la API REST de Slurm, consulta la documentación de Slurm del cliente REST. https://slurm.schedmd.com/rest_clients.html
Requisitos previos
Antes de usar la API REST de Slurm, asegúrate de tener:
-
Configuración del clúster: clúster AWS PCS con Slurm 25.05+ y la API REST habilitadas.
-
Autenticación: token JWT válido con las declaraciones de identidad de usuario adecuadas.
-
Acceso a la red: conectividad dentro de la VPC del clúster con un grupo de seguridad que permita el puerto 6820.
Procedimiento
Para enviar un trabajo mediante la API REST
-
Cree una solicitud de envío de trabajos con los parámetros necesarios:
{ "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"] } } -
Envíe el trabajo mediante una solicitud 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 -
Tenga en cuenta el ID de trabajo devuelto en la respuesta para fines de supervisión.
Para supervisar el estado del trabajo
-
Obtenga información sobre un trabajo específico:
curl -X GET -H "Authorization: Bearer<jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id> -
Enumere todos los trabajos del usuario autenticado:
curl -X GET -H "Authorization: Bearer<jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/jobs
Para cancelar un trabajo
-
Envía una solicitud de eliminación para cancelar un trabajo específico:
curl -X DELETE -H "Authorization: Bearer<jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id>