View a markdown version of this page

Questions fréquemment posées sur l'API REST de Slurm dans AWS PIÈCES - AWS PIÈCES

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.

Questions fréquemment posées sur l'API REST de Slurm dans AWS PIÈCES

Cette section répond aux questions fréquemment posées sur l'API REST de Slurm dans AWS PCS.

Qu'est-ce que l'API REST de Slurm ?

L'API REST de Slurm est une interface HTTP qui vous permet d'interagir avec le gestionnaire de charge de travail Slurm par programmation. Vous pouvez utiliser des méthodes HTTP standard telles que GET, POST et DELETE pour soumettre des tâches, surveiller l'état du cluster et gérer les ressources sans avoir besoin d'accéder au cluster par la ligne de commande.

Puis-je utiliser les jetons générés par scontrol token ?

Non, la scontrol token sortie standard n'est pas compatible avec le AWS PCS. L'API REST PCS Slurm nécessite des jetons JWT enrichis contenant des revendications d'identité spécifiques, notamment le nom d'utilisateur (sun), l'ID utilisateur POSIX (uid) et les identifiants de groupe (). gids Les jetons Slurm standard ne répondent pas à ces exigences et seront rejetés par l'API.

Puis-je accéder à l'API depuis l'extérieur de mon VPC ?

Non, le point de terminaison de l'API REST est uniquement accessible depuis votre VPC à l'aide de l'adresse IP privée du contrôleur Slurm. Pour activer l'accès externe, implémentez AWS des services tels que l'équilibreur de charge des applications avec VPC Link, API Gateway, ou établissez un peering VPC ou des connexions VPN pour une connectivité sécurisée.

Pourquoi l'API utilise-t-elle le protocole HTTP au lieu du protocole HTTPS ?

L'API REST de Slurm est destinée à être un point de terminaison interne au sein du réseau privé de votre cluster. Pour les déploiements de production nécessitant un chiffrement, vous pouvez implémenter la SSL/TLS terminaison à un niveau supérieur de votre architecture, par exemple via une passerelle API, un équilibreur de charge ou un proxy inverse.

Comment contrôler l'accès à l'API REST ?

Configurez les règles du groupe de sécurité de votre cluster pour restreindre l'accès au port 6820 sur le contrôleur Slurm. Définissez des règles entrantes pour autoriser les connexions uniquement à partir de plages IP fiables ou de sources spécifiques au sein de votre VPC, bloquant ainsi tout accès non autorisé au point de terminaison de l'API.

Comment puis-je faire pivoter la clé de signature JWT ?

Mettez votre cluster en mode maintenance sans aucune instance active, puis lancez la rotation des clés via AWS Secrets Manager. Une fois la rotation terminée, réactivez les files d'attente. Tous les jetons JWT existants deviendront invalides et devront être régénérés à l'aide de la nouvelle clé de signature de Secrets Manager.

Dois-je activer la comptabilité Slurm pour utiliser l'API REST ?

Non, la comptabilité Slurm n'est pas requise pour les opérations de base de l'API REST, telles que la soumission et le suivi des tâches. Cependant, l'ensemble du /slurmdb terminal nécessite que la comptabilité soit active.

Quels outils tiers fonctionnent avec l'API REST AWS PCS ?

De nombreux clients d'API Slurm REST existants devraient fonctionner avec AWS PCS, notamment Slurm Exporter pour Prometheus SlurmWeb, et des applications personnalisées qui suivent le format standard de l'API Slurm REST. Cependant, les outils qui reposent sur l'authentification devront être modifiés scontrol token pour répondre aux exigences de AWS PCS JWT.

L'utilisation de l'API REST entraîne-t-elle des coûts supplémentaires ?

Non, aucun frais supplémentaire n'est facturé pour l'activation ou l'utilisation de la fonctionnalité de l'API REST de Slurm. Comme d'habitude, vous ne payez que pour les ressources du cluster sous-jacent.

Comment puis-je résoudre les problèmes liés à l'API REST ?
  • Problèmes de connectivité réseau

    Si vous ne parvenez pas à atteindre le point de terminaison de l'API, des délais de connexion ou des erreurs « connexion refusée » s'afficheront lors de l'envoi de requêtes HTTP au contrôleur de cluster.

    Que faire  : vérifiez que votre client se trouve dans le même VPC ou dispose d'un routage réseau correct, et confirmez que votre groupe de sécurité autorise le trafic HTTP sur le port 6820 depuis votre adresse IP source ou votre sous-réseau.

  • Problèmes d'authentification REST avec Slurm

    Si votre jeton JWT n'est pas valide, a expiré ou n'est pas correctement signé, les demandes d'API renverront « Erreur d'authentification du protocole » dans le champ des erreurs de la réponse.

    Exemple de message d'erreur :

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

    Que faire  : Vérifiez que votre jeton JWT est correctement formaté, qu'il n'a pas expiré et qu'il est signé avec la bonne clé depuis Secrets Manager. Vérifiez que le jeton est correctement formé et inclut les déclarations requises et que vous utilisez le bon format d'en-tête d'authentification.

  • La tâche ne s'exécute pas après sa soumission

    Si votre jeton JWT est valide mais contient une structure interne ou un contenu incorrect, les jobs sont peut-être entrés dans un état suspendu (PD) avec un code de raison. JobAdminHead scontrol show job <job-id>Utilisez-le pour inspecter la tâche — vous verrezJobState=PENDING, Reason=JobHeldAdmin, etSystemComment=slurm_cred_create failure, holding job.

    Que faire  : la cause première peut être due à des valeurs erronées dans JWT. Vérifiez que le jeton est correctement structuré et inclut les déclarations requises conformément à la documentation PCS.

  • Problèmes d'autorisation du répertoire de travail

    Si l'identité utilisateur spécifiée dans votre JWT ne dispose pas des autorisations d'écriture sur le répertoire de travail de la tâche, celle-ci échouera avec des erreurs d'autorisation, comme si vous sbatch --chdir utilisiez un répertoire inaccessible.

    Que faire  : assurez-vous que l'utilisateur spécifié dans votre jeton JWT dispose des autorisations appropriées pour le répertoire de travail de la tâche.

  • Vous rencontrez toujours des problèmes ?

    1. Consultez la documentation de SchedMD sur la spécification de l'API REST.

    2. Consultez les journaux du contrôleur Slurm pour obtenir des informations plus détaillées sur les erreurs (voir Le planificateur enregistre dans PCS AWS pour plus de détails).