Usando a API REST do Slurm para gerenciamento de tarefas no PCS AWS - AWS PCS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando a API REST do Slurm para gerenciamento de tarefas no PCS AWS

Visão geral da API Slurm REST

A API REST do Slurm fornece acesso programático às funções de gerenciamento de cluster por meio de solicitações HTTP. A compreensão dessas características principais ajudará você a usar a API com o AWS PCS de forma eficaz:

  • Protocolo de acesso: a API usa HTTP (não HTTPS) para comunicação na rede privada do seu cluster.

  • Detalhes da conexão: acesse a API usando o endereço IP privado do seu cluster e a slurmrestd porta (normalmente 6820). O formato completo do URL base éhttp://<privateIpAddress>:6820.

  • Controle de versão da API: a versão da API corresponde à sua instalação do Slurm. Para o Slurm 25.05, use a versão v0.0.43. O número da versão muda a cada lançamento do Slurm. Você pode encontrar as versões da API atualmente suportadas nas notas de lançamento do Slurm.

  • Estrutura de URL: A estrutura de URL para a API REST do Slurm é. http://<privateIpAddress>:<port>/<api-version>/<endpoint> Informações detalhadas de uso dos endpoints da API REST podem ser encontradas na documentação do Slurm.

Para obter informações específicas sobre como trabalhar com a API REST do Slurm, consulte a documentação do Slurm do cliente REST.

Pré-requisitos

Antes de usar a API REST do Slurm, certifique-se de ter:

  • Configuração de cluster: cluster AWS PCS com Slurm 25.05+ e API REST habilitada.

  • Autenticação: token JWT válido com declarações de identidade de usuário adequadas.

  • Acesso à rede: conectividade na VPC do seu cluster com um grupo de segurança que permite a porta 6820.

Procedimento

Para enviar um trabalho usando a API REST
  1. Crie uma solicitação de envio de trabalho com os parâmetros necessários:

    { "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. Envie o trabalho usando uma solicitação 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. Anote o ID do trabalho retornado na resposta para fins de monitoramento.

Para monitorar o status do trabalho
  1. Obtenha informações sobre um trabalho específico:

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/job/<job-id>
  2. Liste todos os trabalhos do usuário autenticado:

    curl -X GET -H "Authorization: Bearer <jwt>" \ https://<privateIpAddress>:6820/slurm/v0.0.43/jobs
Para cancelar um trabalho
  • Envie uma solicitação DELETE para cancelar um trabalho específico:

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