View a markdown version of this page

Usando a API Slurm REST para gerenciamento de tarefas em AWS PEÇAS - AWS PEÇAS

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 Slurm REST para gerenciamento de tarefas em AWS PEÇAS

Visão geral da API Slurm REST

A API REST do Slurm fornece acesso programático às funções de gerenciamento de clusters por meio de solicitações HTTP. Compreender essas 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 cluster e a slurmrestd porta (normalmente 6820). O formato de URL base completo é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 do URL: A estrutura do URL da 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 cliente REST Slurm.

Pré-requisitos

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

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

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

  • Acesso à rede: conectividade dentro da 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. Listar todas as tarefas para o 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>