View a markdown version of this page

Mettre à jour la version du planificateur d'un AWS Cluster PCS - 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.

Mettre à jour la version du planificateur d'un AWS Cluster PCS

Suivez ces étapes pour mettre à jour la version du planificateur sur votre cluster. Il existe deux options selon que vous pouvez tolérer ou non une interruption de travail. Pour plus d'informations sur le choix entre les options, consultezMise à jour de la version du planificateur d'un cluster dans AWS PIÈCES.

Option 1 : mise à jour continue

Le contrôleur est mis à jour pendant que la flotte continue de fonctionner. Les nœuds existants continuent d'utiliser la version précédente de Slurm jusqu'à ce qu'ils soient vidés et remplacés. Les nouveaux nœuds lancés après la mise à jour utilisent la version cible. Les tâches en cours ne sont pas interrompues.

Quand utiliser :

  • Le contrôleur de cluster utilise la version 24.05 ou ultérieure de Slurm.

  • Vous pouvez fournir des AMI qui incluent à la fois la version actuelle et la version cible de Slurm.

Étape 0 — Vérifier l'état de départ

Votre cluster exécute la version « A » du contrôleur (par exemple 24.11) et vous souhaitez migrer vers la version « B » (par exemple 25.11). Vérifiez que tous les nœuds de calcul de votre parc exécutent la même version majeure, à l'aide de cette commande depuis un nœud de cluster :

scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7

Vérifiez la version de l'agent AWS PCS sur un nœud de calcul. Connectez-vous au nœud à l'aide de Systems Manager et consultez le journal de démarrage :

grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1

Les mises à jour continues nécessitent la version 1.4.0 ou ultérieure de l'agent AWS PCS sur toutes les AMI des nœuds de calcul. Pour de plus amples informations, veuillez consulter AWS Versions de l'agent PCS.

Étape 1 — Préparation et déploiement des AMI à double version

Créez ou identifiez des AMI qui incluent à la fois les versions A et B de Slurm, ainsi que le dernier agent AWS PCS.

  • Vous pouvez utiliser les derniers PCS-ready DLAMI. Ces AMI sont fournies avec les trois dernières versions de Slurm prises en charge. Pour de plus amples informations, veuillez consulter Utilisation du PCS-ready DLAMI avec AWS PIÈCES.

  • Vous pouvez créer une AMI personnalisée en suivant les étapes d'installation des packages Slurm et de l'agent AWS PCS. Pour de plus amples informations, veuillez consulter Images Amazon Machine personnalisées (AMIs) pour AWS PC.

  • Vous ne pouvez pas utiliser un exemple d'AMI AWS PCS. Ces AMI ne sont pas conçues pour la production et n'incluent actuellement qu'une seule version de Slurm.

Note

Si votre AMI inclut plus de deux versions de Slurm, AWS PCS sélectionne automatiquement la version qui correspond au contrôleur. L'installation de versions supplémentaires ne pose aucun problème.

Une fois que les AMI sont prêtes :

  1. Appelez UpdateComputeNodeGroup chaque groupe de nœuds de calcul pour définir la nouvelle AMI à double version. Les nœuds seront placés dans DRAIN par AWS PCS et migreront vers la nouvelle AMI.

  2. Attendez que les nœuds épuisés terminent leur travail, s'arrêtent et soient remplacés par des nœuds utilisant la nouvelle version double de l'AMI. Vérifiez que toutes les instances EC2 du cluster utilisent la nouvelle AMI avec :

    aws ec2 describe-instances \ --filters "Name=tag:aws:pcs:cluster-id,Values=cluster-id" \ --query "Reservations[].Instances[].[InstanceId,ImageId,State.Name]" \ --output table

Étape 2 — Mettre à jour le contrôleur de cluster

Appel UpdateCluster scheduler.version réglé sur la version B.

AWS Management Console
  1. Ouvrez la console AWS PCS à l'adresse https://console.aws.amazon.com/pcs/.

  2. Dans le panneau de navigation, choisissez Clusters.

  3. Sélectionnez le cluster à mettre à jour, puis choisissez Modifier.

  4. Sous Détails du cluster, sélectionnez la version du planificateur cible dans la liste déroulante du planificateur.

  5. Choisissez Mettre à jour pour soumettre la mise à jour de version.

  6. Surveillez l'état du cluster. Le cluster s'affiche comme UPDATING lors de la mise à jour et revient à zéro une ACTIVE fois la mise à jour terminée. La mise à jour prend généralement 5 à 15 minutes.

AWS CLI
aws pcs update-cluster \ --cluster-identifier cluster-id \ --scheduler version=25.11

Attendez que le cluster revienne àACTIVE. La mise à jour prend généralement 5 à 15 minutes.

Pendant cette opération, le contrôleur est brièvement indisponible :

  • Les tâches en cours d'exécution sur les nœuds de calcul continuent de s'exécuter.

  • Les nouvelles soumissions de tâches et les commandes du planificateur ne sont pas disponibles tant que la mise à jour n'est pas terminée.

  • Le dimensionnement automatique est suspendu jusqu'à ce que le cluster revienne àACTIVE.

Après la mise à jour, le parc informatique est dans un état mixte : les nœuds exécutés avant la mise à jour continuent d'utiliser la version A de Slurm slurmd ; les nouveaux nœuds utilisent la version B. Cela est attendu.

Note

N'ajoutez pas de paramètres Slurm spécifiques à la version B tant que le parc contient encore des nœuds sur la version A. La configuration est distribuée à tous les nœuds ; les anciens slurmd peuvent ne pas reconnaître les nouveaux paramètres.

Si le cluster ne revient pas dans les ACTIVE 30 UPDATE_FAILED minutes, contactez le AWS Support pour obtenir de l'aide.

Étape 3 — Les nœuds de drainage exécutent toujours la version A de Slurm

Identifiez et videz les nœuds encore présents sur la version précédente. À partir d'un nœud du cluster, exécutez :

scontrol show nodes | grep "Version=" scontrol update NodeName=node State=DRAIN Reason="Slurm version update"

Une fois que les nœuds drainés ont terminé leur travail en cours, ils s'arrêtent et sont remplacés par des nœuds sur Slurm version B.

Étape 4 — Vérifier la cohérence du parc sur la version B de Slurm

Vérifiez que tous les nœuds signalent la version B. À partir d'un nœud du cluster, exécutez :

scontrol show nodes | grep "Version="

Tous les nœuds devraient désormais signaler la version B. La mise à jour est terminée.

Option 2 : Full-fleet recycler

L'ensemble de la flotte est arrêté avant que le contrôleur ne soit mis à jour, puis redimensionné à partir d'une nouvelle AMI avec la version cible de Slurm. Cette procédure est plus simple, mais nécessite l'arrêt de tous les nœuds et des tâches en cours d'exécution.

Quand utiliser :

  • Vous ne pouvez pas fournir d'AMI lorsque les deux versions de Slurm sont installées.

  • Le contrôleur de cluster utilise la version 23.11 (l'option 1 n'est pas disponible pour les clusters 23.11).

Note

L'arrêt de l'ensemble du parc en une seule fois augmente le risque d'erreurs liées à une capacité insuffisante lors de la réduction de la capacité. Envisagez d'utiliser la capacité réservée ou de planifier en dehors des heures de pointe.

Étape 0 — Vérifier l'état de départ

Votre cluster exécute la version « A » du contrôleur (par exemple 24.11) et vous souhaitez migrer vers la version « B » (par exemple 25.11). Vérifiez que tous les nœuds de calcul de votre parc exécutent la même version majeure, à l'aide de cette commande depuis un nœud de cluster :

scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7

Vérifiez la version de l'agent AWS PCS sur un nœud de calcul. Connectez-vous au nœud à l'aide de Systems Manager et consultez le journal de démarrage :

grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1

Utilisez le dernier agent AWS PCS sur vos AMI cibles. Pour de plus amples informations, veuillez consulter AWS Versions de l'agent PCS.

Étape 1 — Préparation des AMI cibles

Créez ou identifiez des AMI qui incluent la version B de Slurm et le dernier agent AWS PCS.

  • Vous pouvez utiliser les derniers PCS-ready DLAMI. Ces AMI sont fournies avec les trois dernières versions de Slurm prises en charge. Pour de plus amples informations, veuillez consulter Utilisation du PCS-ready DLAMI avec AWS PIÈCES.

  • Vous pouvez créer une AMI personnalisée en suivant les étapes d'installation des packages Slurm et de l'agent AWS PCS. Pour de plus amples informations, veuillez consulter Images Amazon Machine personnalisées (AMIs) pour AWS PC.

  • L'utilisation de l'exemple d'AMI AWS PCS n'est pas recommandée. Ces AMI ne sont pas conçues pour la production.

Étape 2 — Diminution de l'ensemble de la flotte

Enregistrez le nœud actuel minNodeCount et maxNodeCount pour chaque groupe de nœuds de calcul. Vous allez les restaurer à l'étape 4.

for cng in $(aws pcs list-compute-node-groups --cluster-identifier cluster-id --query "computeNodeGroups[].id" --output text); do aws pcs get-compute-node-group \ --cluster-identifier cluster-id \ --compute-node-group-identifier "$cng" \ --query "computeNodeGroup.{Id:id,AmiId:amiId,Min:scalingConfiguration.minInstanceCount,Max:scalingConfiguration.maxInstanceCount}" \ --output table done
Avertissement

L'opération suivante met fin à tous les nœuds en cours d'exécution et à leurs tâches.

Définissez minNodeCount et exécutez maxNodeCount 0 sur chaque groupe de nœuds de calcul :

aws pcs update-compute-node-group \ --cluster-identifier cluster-id \ --compute-node-group-identifier cng-id \ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}'

Vérifiez qu'aucune instance balisée aws:pcs:cluster-id correspondant à votre cluster n'est en cours d'exécution avant de continuer :

aws ec2 describe-instances \ --filters "Name=tag:aws:pcs:cluster-id,Values=cluster-id" \ --query "Reservations[].Instances[].[InstanceId,ImageId,State.Name]" \ --output table

Étape 3 — Mettre à jour le contrôleur de cluster

AWS Management Console
  1. Ouvrez la console AWS PCS à l'adresse https://console.aws.amazon.com/pcs/.

  2. Dans le panneau de navigation, choisissez Clusters.

  3. Sélectionnez le cluster à mettre à jour, puis choisissez Modifier.

  4. Sous Détails du cluster, sélectionnez la version du planificateur cible dans la liste déroulante du planificateur.

  5. Choisissez Mettre à jour pour soumettre la mise à jour de version.

  6. Surveillez l'état du cluster. Le cluster s'affiche comme UPDATING lors de la mise à jour et revient à zéro une ACTIVE fois la mise à jour terminée. La mise à jour prend généralement 5 à 15 minutes.

AWS CLI
aws pcs update-cluster \ --cluster-identifier cluster-id \ --scheduler version=25.11

Attendez que le cluster revienne àACTIVE. La mise à jour prend généralement 5 à 15 minutes.

Si le cluster ne revient pas dans les ACTIVE 30 UPDATE_FAILED minutes, contactez le AWS Support pour obtenir de l'aide.

Étape 4 — Mettre à jour les groupes de nœuds de calcul et restaurer la capacité

Pour chaque groupe de nœuds de calcul, définissez la nouvelle AMI et restaurez les limites de capacité minimale et maximale d'origine :

aws pcs update-compute-node-group \ --cluster-identifier cluster-id \ --compute-node-group-identifier cng-id \ --ami-id new-ami-id \ --scaling-configuration '{"minNodeCount": previous-min, "maxNodeCount": previous-max}'

Le cluster est redimensionné. Tous les nouveaux nœuds exécutent la version B de Slurm avec le dernier agent AWS PCS.

Exemple : mise à jour sur plusieurs versions

Si la version cible se trouve en dehors de la fenêtre de compatibilité de votre version actuelle, vous devez déplacer le contrôleur vers une ou plusieurs versions intermédiaires, en le mettant à jour un saut à la fois. Chaque saut doit cibler une version prise en charge dans la fenêtre de compatibilité de la version actuelle du contrôleur.

Comme le Option 2 : Full-fleet recycler parc est redimensionné à zéro avant de mettre à jour le contrôleur, aucun nœud de calcul n'est en cours d'exécution lorsque le contrôleur passe d'une version à l'autre. Par conséquent, vos AMI peuvent utiliser directement la version cible finale : seule la mise à jour du contrôleur (étape 3) est répétée pour chaque saut.

L'exemple suivant met à jour un cluster de la version 23.11 à la version 25.11 à l'aide de la procédure Option 2. La version 23.11 se trouve en dehors de la fenêtre de compatibilité de la version 25.11, de sorte que le contrôleur est mis à jour en deux étapes (23.11 à 25.05, puis 25.05 à 25.11). Suivez les étapes de l'option 2, l'étape 3 étant divisée en une seule mise à jour par saut :

  1. Étape 1 — Préparez les AMI cibles. Créez ou identifiez des AMI avec la version finale (25.11) et le dernier agent AWS PCS. Consultez Étape 1 — Préparation des AMI cibles.

  2. Étape 2 — Diminuez l'ensemble de la flotte. Enregistrez la capacité actuelle (voirÉtape 2 — Diminution de l'ensemble de la flotte), puis réglez chaque groupe de nœuds de calcul sur zéro.

    aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}'
  3. Étape 3a — Mettez à jour le contrôleur de la version 23.11 à la version 25.05. Attendez que le cluster revienne àACTIVE.

    aws pcs update-cluster --cluster-identifier my-cluster \ --scheduler version=25.05
  4. Étape 3b — Mettez à jour le contrôleur de la version 25.05 à la version 25.11. Attendez que le cluster revienne àACTIVE.

    aws pcs update-cluster --cluster-identifier my-cluster \ --scheduler version=25.11
  5. Étape 4 — Mettez à jour les groupes de nœuds de calcul et restaurez la capacité. Définissez l'AMI 25.11 sur chaque groupe de nœuds de calcul et restaurez les limites de capacité d'origine (voirÉtape 4 — Mettre à jour les groupes de nœuds de calcul et restaurer la capacité).

    aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --ami-id ami-0123456789abcdef0 \ --scaling-configuration '{"minNodeCount": previous-min, "maxNodeCount": previous-max}'
Note

Chaque saut de manette doit aboutir sur une version comprise dans la fenêtre de compatibilité de la précédente. Pour trouver des versions intermédiaires valides, consultezCompatibilité des versions. La flotte reste à zéro au cours des étapes 3a et 3b, de sorte qu'aucune mise à jour intermédiaire de l'AMI n'est requise.