View a markdown version of this page

Exécutez des scripts personnalisés avec des actions sur le cycle de vie des nœuds 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.

Exécutez des scripts personnalisés avec des actions sur le cycle de vie des nœuds dans AWS PIÈCES

Les actions relatives au cycle de vie des nœuds exécutent des scripts personnalisés à des points définis du cycle de vie d'un nœud de calcul. Utilisez-les pour monter des systèmes de fichiers, rejoindre des services d'annuaire, installer des logiciels ou configurer la surveillance. Vous définissez des scripts dans la configuration des groupes de nœuds de calcul et vous les réutilisez dans les groupes et les clusters de nœuds de calcul.

Une action sur le cycle de vie d'un nœud est un script que AWS PCS exécute automatiquement à un moment précis du cycle de vie d'un nœud de calcul. Vous définissez les scripts dans la configuration de votre groupe de nœuds de calcul : où se trouve chaque script (Amazon S3 ou HTTPS), quels arguments transmettre, à quel stade il s'exécute, quand il est réexécuté au redémarrage et que faire en cas d'échec. AWS PCS extrait le script, le met en cache sur l'instance, l'exécute en tant que tel root et écrit sa sortie dans un fichier journal dédié.

Les actions relatives au cycle de vie des nœuds fournissent :

  • Réutilisabilité  : faites référence au même script à partir de nombreux groupes de nœuds de calcul avec des arguments différents.

  • Per-script gestion des erreurs  : terminez le nœud, arrêtez la séquence ou continuez en cas de panne.

  • API-native configuration  : définissez et mettez à jour les actions du cycle de vie viaUpdateComputeNodeGroup. Les modifications de configuration épuisent et remplacent les nœuds existants. Pour de plus amples informations, veuillez consulter Configurer les actions relatives au cycle de vie des nœuds dans AWS PIÈCES.

Étapes du cycle de vie

AWS PCS prend actuellement en charge deux étapes. À chaque étape, les scripts s'exécutent dans l'ordre dans lequel vous les avez définis. Par défaut, un script s'exécute uniquement au premier démarrage  ; configurez-le sur executionPolicy EVERY_BOOT pour le réexécuter également au redémarrage. Pour de plus amples informations, veuillez consulter Configurer les actions relatives au cycle de vie des nœuds dans AWS PIÈCES.

Étape

Quand il fonctionne

Services disponibles

Utilisation typique

Nœud bootstrapped () nodeBootstrapped

S'exécute une fois que AWS PCS a terminé la configuration du nœud et avant slurmd le démarrage.

Le réseau et Amazon S3 sont actifs et SSH, SSM, NTP (chrony) et cron sont actifs pour le débogage. AWS PCS-managed la configuration est terminée (Slurm est configuré, Hyper-Threading désactivé), vous pouvez donc vous y fier. Les commandes du client Slurm ne sont pas encore disponibles.

Tâches qui doivent être effectuées avant que le nœud n'accepte les tâches, telles que le montage du stockage partagé, la configuration du réseau ou l'installation de packages logiciels.

Nœud prêt (nodeReady)

S'exécute après le slurmd démarrage et l'enregistrement du nœud auprès du contrôleur Slurm.

Tout ce qui se trouve nodeBootstrapped sur scène, plus les commandes du client Slurm (sinfo,scontrol).

Tâches nécessitant l'exécution de Slurm.

NodeReady et la fenêtre de répartition des tâches

nodeReadyles scripts s'exécutent après le slurmd démarrage, il existe donc une brève fenêtre dans laquelle le planificateur peut envoyer une tâche au nœud avant la fin de vos nodeReady scripts. Si un script doit être terminé avant l'exécution d'une tâche :

  • Déplacez-le sur la nodeBootstrapped scène s'il n'a pas besoin de commandes Slurm.

  • Utilisez un prologue Slurm.

Comment fonctionne l'exécution

Lors du premier lancement :

  1. Le nœud démarre et l'agent AWS PCS appelleRegisterComputeNodeGroupInstance.

  2. L'agent met en cache la configuration du cycle de vie et télécharge les scripts.

  3. La phase de configuration du AWS PCS s'exécute (Slurm Hyper-Threading est configuré, désactivé, etc.).

  4. Les scripts d'amorçage des nœuds s'exécutent dans l'ordre dans lequel vous les avez définis.

  5. slurmddémarre et le nœud s'enregistre auprès du contrôleur Slurm. À ce stade, le nœud est disponible pour accepter les tâches.

  6. Les scripts Node Ready s'exécutent dans l'ordre dans lequel vous les avez définis. Ces scripts s'exécutent une fois que le nœud est disponible pour accepter les tâches, de sorte que le planificateur peut envoyer une tâche avant qu'elle ne soit terminée (voirÉtapes du cycle de vie).

Au redémarrage, la même nodeReady séquence nodeBootstrappedslurmd → s'exécute. Seuls les scripts marqués comme EVERY_BOOT réexécutés. Les scripts définis sur FIRST_BOOT_ONLY (valeur par défaut) sont ignorés. scriptCachingPolicyContrôle si les scripts sont téléchargés à nouveau. Pour de plus amples informations, veuillez consulter Configurer les actions relatives au cycle de vie des nœuds dans AWS PIÈCES.

Pour connaître les limites relatives au nombre de scripts par étape, à la longueur des arguments et des noms de script, ainsi qu'à la taille maximale des scripts, consultez UpdateComputeNodeGroup la référence de l'API AWS PCS.