Domande frequenti sull'API REST di Slurm in PCS AWS - AWS PC

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Domande frequenti sull'API REST di Slurm in PCS AWS

Questa sezione risponde alle domande frequenti sull'API REST di Slurm in AWS PCS.

Cos'è l'API REST di Slurm?

L'API Slurm REST è un'interfaccia HTTP che consente di interagire con il gestore del carico di lavoro Slurm a livello di codice. È possibile utilizzare metodi HTTP standard come GET, POST e DELETE per inviare lavori, monitorare lo stato del cluster e gestire le risorse senza richiedere l'accesso da riga di comando al cluster.

Posso usare i token generati da? scontrol token

No, lo standard scontrol token output non è compatibile con AWS PCS. L'API REST PCS Slurm richiede token JWT arricchiti contenenti affermazioni di identità specifiche che includono username (sun), ID utente POSIX () e group (uid). IDs gids I token Slurm standard non dispongono di queste affermazioni obbligatorie e verranno rifiutati dall'API.

Posso accedere all'API dall'esterno del mio VPC?

No, l'endpoint dell'API REST è accessibile solo dall'interno del tuo VPC utilizzando l'indirizzo IP privato del controller Slurm. Per abilitare l'accesso esterno, implementa AWS servizi come Application Load Balancer with VPC Link, API Gateway o stabilisci connessioni VPC peering o VPN per una connettività sicura.

Perché l'API utilizza HTTP anziché HTTPS?

L'API REST di Slurm è pensata per essere un endpoint interno all'interno della rete privata del cluster. Per le implementazioni di produzione che richiedono la crittografia, è possibile implementare la SSL/TLS terminazione a un livello superiore nell'architettura, ad esempio tramite un gateway API, un sistema di bilanciamento del carico o un proxy inverso.

Come posso controllare l'accesso all'API REST?

Configura le regole del gruppo di sicurezza del tuo cluster per limitare l'accesso alla porta 6820 sul controller Slurm. Imposta regole in entrata per consentire le connessioni solo da intervalli IP affidabili o fonti specifiche all'interno del tuo VPC, bloccando l'accesso non autorizzato all'endpoint API.

Come faccio a ruotare la chiave di firma JWT?

Metti il cluster in modalità di manutenzione senza istanze attive, quindi avvia la rotazione delle chiavi tramite AWS Secrets Manager. Al termine della rotazione, riattiva le code. Tutti i token JWT esistenti non saranno più validi e dovranno essere rigenerati utilizzando la nuova chiave di firma di Secrets Manager.

Ho bisogno che la contabilità Slurm sia abilitata per utilizzare l'API REST?

No, la contabilità Slurm non è richiesta per le operazioni di base dell'API REST come l'invio e il monitoraggio dei lavori. Tuttavia, l'intero /slurmdb endpoint richiede che la contabilità sia attiva.

Quali strumenti di terze parti funzionano con l'API REST AWS PCS?

Molti client Slurm REST API esistenti dovrebbero funzionare con AWS PCS, tra cui Slurm Exporter for Prometheus, e applicazioni personalizzate che seguono il formato API REST standard di Slurm. SlurmWeb Tuttavia, gli strumenti che si basano sull'autenticazione dovranno essere modificati scontrol token per funzionare con i requisiti PCS JWT. AWS

Sono previsti costi aggiuntivi per l'utilizzo dell'API REST?

No, non ci sono costi aggiuntivi per l'attivazione o l'utilizzo della funzionalità API REST di Slurm. Come di consueto, paghi solo per le risorse del cluster sottostanti.

Come posso risolvere i problemi relativi all'API REST?
  • Problemi di connettività di rete

    Se non riesci a raggiungere l'endpoint dell'API, vedrai dei timeout di connessione o degli errori di «connessione rifiutata» quando effettui richieste HTTP al controller del cluster.

    Cosa fare: verifica che il client si trovi nello stesso VPC o disponga del routing di rete corretto e conferma che il gruppo di sicurezza consenta il traffico HTTP sulla porta 6820 dall'IP o dalla sottorete di origine.

  • Problemi di autenticazione Slurm REST

    Se il token JWT non è valido, è scaduto o firmato in modo errato, le richieste API restituiranno «Errore di autenticazione del protocollo» nel campo degli errori della risposta.

    Esempio di messaggio di errore:

    { "errors": [ { "description": "Batch job submission failed", "error_number": 1007, "error": "Protocol authentication error", "source": "slurm_submit_batch_job()" } ] }

    Cosa fare: verifica che il token JWT sia formattato correttamente, non scaduto e firmato con la chiave corretta di Secrets Manager. Verifica che il token sia formato correttamente e includa le attestazioni richieste e che stia utilizzando il formato di intestazione di autenticazione corretto.

  • Job non riuscito a eseguire dopo l'invio

    Se il token JWT è valido ma contiene una struttura o un contenuto interni errati, è possibile che i job abbiano inserito uno stato paused (PD) con codice motivo. JobAdminHead scontrol show job <job-id>Usalo per ispezionare il lavoro: vedraiJobState=PENDING, Reason=JobHeldAdmin, e. SystemComment=slurm_cred_create failure, holding job

    Cosa fare: la causa principale potrebbe essere rappresentata da valori errati in JWT. Verifica che il token sia strutturato correttamente e includa le attestazioni richieste secondo la documentazione PCS.

  • Problemi di autorizzazione alla directory di lavoro

    Se l'identità utente specificata nel JWT non dispone dei permessi di scrittura nella directory di lavoro del lavoro, il lavoro avrà esito negativo con errori di autorizzazione, simili all'utilizzo sbatch --chdir con una directory inaccessibile.

    Cosa fare: assicurati che l'utente specificato nel tuo token JWT disponga delle autorizzazioni appropriate per la directory di lavoro del lavoro.

  • Stai ancora riscontrando problemi?

    1. Consulta la documentazione di SchedMD sulle specifiche dell'API REST.

    2. Controlla i log del controller Slurm per informazioni più dettagliate sugli errori (vedi Registri di Scheduler in PCS AWS per maggiori dettagli).