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 sur PCS AWS
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'un accès par ligne de commande au cluster.
- Puis-je utiliser des jetons générés par
scontrol token? -
Non, la
scontrol tokensortie 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 le groupe (). IDsgidsLes jetons Slurm standard ne présentent pas ces réclamations requises 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 n'est accessible que 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 Application Load Balancer 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 dans 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 d'adresses 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 la surveillance des tâches. Cependant, l'ensemble du point de
/slurmdbterminaison nécessite que la comptabilité soit active. - Quels outils tiers fonctionnent avec l'API REST du AWS PCS ?
-
De nombreux clients d'API REST Slurm existants devraient fonctionner avec des AWS PCS, notamment Slurm Exporter pour Prometheus, et des applications personnalisées qui suivent le format standard de l'API REST de Slurm. SlurmWeb Cependant, les outils qui reposent sur l'authentification devront être modifiés
scontrol tokenpour fonctionner avec les exigences du AWS PCS JWT. - L'utilisation de l'API REST entraîne-t-elle des coûts supplémentaires ?
-
Non, l'activation ou l'utilisation de la fonctionnalité API REST de Slurm sont gratuites. Vous ne payez que pour les ressources du cluster sous-jacent comme d'habitude.
- Comment puis-je résoudre les problèmes liés à l'API REST ?
-
-
Problèmes de connectivité réseau
Si vous ne pouvez pas atteindre le point de terminaison de l'API, des délais de connexion ou des erreurs de « connexion refusée » s'afficheront lorsque vous envoyez des 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 approprié, et vérifiez que votre groupe de sécurité autorise le trafic HTTP sur le port 6820 à partir de votre adresse IP source ou de 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é dans Secrets Manager. Vérifiez que le jeton est correctement formé, qu'il inclut les revendications requises et que vous utilisez le format d'en-tête d'authentification correct.
-
Échec de l'exécution du Job après sa soumission
Si votre jeton JWT est valide mais contient une structure ou un contenu interne incorrect, les tâches sont peut-être entrées dans un état suspendu (
PD) avec un code de raison.JobAdminHeadscontrol show jobÀ utiliser pour inspecter le travail, vous verrez<job-id>JobState=PENDING, Reason=JobHeldAdmin, etSystemComment=slurm_cred_create failure, holding job.Que faire : La cause première peut être des valeurs erronées dans JWT. Vérifiez que le jeton est correctement structuré et inclut les allégations requises conformément à la documentation du PCS.
-
Problèmes d'autorisation liés au répertoire de travail
Si l'identité utilisateur spécifiée dans votre JWT ne dispose pas d'autorisations d'écriture dans le répertoire de travail de la tâche, celle-ci échouera avec des erreurs d'autorisation, comme si vous
sbatch --chdirutilisiez 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 ?
-
Consultez la documentation de SchedMD sur la spécification
de l'API REST. -
Consultez les journaux du contrôleur Slurm pour obtenir des informations plus détaillées sur les erreurs (voir Le planificateur se connecte à PCS AWS pour plus de détails).
-
-