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
Procédez comme suit 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, consultezMettre à jour la version du planificateur d'un cluster dans AWS PIÈCES.
Note
Nous vous recommandons de tester la nouvelle AMI et la procédure de mise à jour sur un cluster hors production avant d'appliquer des modifications à votre environnement de production.
Option 1 : mise à jour continue
Le contrôleur est mis à jour pendant que la flotte continue de fonctionner. Les nœuds existants continuent à 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.
Étape 0 — Vérifier l'état de démarrage
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 flotte utilisent 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 d'amorçage :
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 des agents PCS.
Étape 1 — Préparer les AMI cibles
Créez ou identifiez des AMI qui incluent Slurm version B et le dernier agent AWS PCS.
-
Vous pouvez utiliser la dernière version de PCS-ready DLAMis. Ces AMI sont fournies avec les trois dernières versions de Slurm prises en charge. Pour de plus amples informations, veuillez consulter Utilisation de 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.
-
Nous ne recommandons pas l'exemple d'AMI AWS PCS pour une utilisation en production. Ces AMI sont uniquement destinées aux tests.
Note
La même AMI peut inclure plusieurs versions de Slurm. AWS PCS sélectionne automatiquement la version qui correspond à la manette. L'installation de versions supplémentaires ne pose aucun problème.
Étape 2 — Mettre à jour le contrôleur de cluster
Appelez UpdateCluster avec scheduler.version réglé sur la version B.
Pendant cette opération, le contrôleur est momentanément 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.
-
La mise à l'échelle automatique est suspendue jusqu'à ce que le cluster revienne à
ACTIVE.
Note
N'ajoutez pas de paramètres Slurm spécifiques à la version B tant que la flotte contient encore des nœuds en 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 à ACTIVE ou UPDATE_FAILED dans les 30 minutes, contactez le AWS support pour obtenir de l'aide.
Étape 3 — Mettre à jour les groupes de nœuds de calcul
Pour chaque groupe de nœuds de calcul, définissez la nouvelle AMI avec la version cible de Slurm :
aws pcs update-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifiercng-id\ --ami-idnew-ami-id
AWS PCS définit l'DRAINétat des nœuds exécutant la version précédente. Une fois que les nœuds vidés ont terminé leurs tâches en cours, AWS PCS met fin aux nœuds et les remplace par de nouveaux nœuds exécutant Slurm version B.
Étape 4 — Vérifier la cohérence de la flotte sur Slurm version B
Surveillez la transition de la flotte. À partir d'un nœud de cluster, consultez le résumé des versions de tous les nœuds :
scontrol show nodes | grep "Version=" | awk -F'=' '{print $NF}' | sort | uniq -c
Vérifiez DRAIN l'état des nœuds et leur version :
scontrol show nodes | awk '/NodeName=/{name=$1; ver=""} /Version=/{ver=$NF} /State=.*DRAIN/{print name, ver}'
Vérifiez la version pour tous les nœuds actifs :
scontrol show nodes | awk '/NodeName=/{name=$1; ver=""} /Version=/{ver=$NF} /State=/{if (ver) print name, ver}'
La mise à jour est terminée lorsque le résumé des versions affiche uniquement la version cible et qu'aucun nœud ne reste dans DRAIN son DRAINING état. Les nœuds dans POWERED_DOWN cet état ne signalent pas de version tant que AWS PCS ne les lance pas.
Option 2 : arrêt Full-fleet de la maintenance
Vous mettez fin à l'ensemble de la flotte avant de mettre à jour le contrôleur, puis vous le redimensionnez à partir d'une nouvelle AMI avec la version cible de Slurm. Cette procédure est plus simple, mais elle met fin à tous les nœuds et aux tâches en cours d'exécution.
Quand utiliser :
-
Le contrôleur de cluster est en version 23.11 (l'option 1 n'est pas disponible pour les clusters 23.11).
Note
Le fait de mettre fin à l'ensemble de la flotte en une seule fois augmente le risque d'erreurs de capacité insuffisante lors de la remise à l'échelle. Envisagez d'utiliser la capacité réservée ou de planifier pendant les heures creuses.
Étape 0 — Vérifier l'état de démarrage
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 flotte utilisent 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 d'amorçage :
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 des agents PCS.
Étape 1 — Préparer les AMI cibles
Créez ou identifiez des AMI qui incluent Slurm version B et le dernier agent AWS PCS.
-
Vous pouvez utiliser la dernière version de PCS-ready DLAMis. Ces AMI sont fournies avec les trois dernières versions de Slurm prises en charge. Pour de plus amples informations, veuillez consulter Utilisation de 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.
-
Nous ne recommandons pas l'exemple d'AMI AWS PCS pour une utilisation en production. Ces AMI sont uniquement destinées aux tests.
Étape 2 — Réduire la taille de l'ensemble de la flotte
Enregistrez les données actuelles minNodeCount et maxNodeCount pour chaque groupe de nœuds de calcul. Vous les restaurerez à l'étape 4.
for cng in $(aws pcs list-compute-node-groups --cluster-identifiercluster-id--query "computeNodeGroups[].id" --output text); do aws pcs get-compute-node-group \ --cluster-identifiercluster-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 aux tâches qui s'y trouvent.
Définissez minNodeCount et maxNodeCount 0 sur chaque groupe de nœuds de calcul :
aws pcs update-compute-node-group \ --cluster-identifiercluster-id\ --compute-node-group-identifiercng-id\ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}'
Vérifiez qu'aucune instance étiqueté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
É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-identifiercluster-id\ --compute-node-group-identifiercng-id\ --ami-idnew-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 étape par étape. Chaque saut doit cibler une version prise en charge dans la fenêtre de compatibilité de la version actuelle du contrôleur.
Comme la Option 2 : arrêt Full-fleet de la maintenance flotte est redimensionnée à zéro avant la mise à jour du 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 23.11 à 25.11 à l'aide de la procédure Option 2. 23.11 se trouve en dehors de la fenêtre de compatibilité du 25.11. Le contrôleur est donc mis à jour en deux sauts (23.11 à 25.05, puis 25.05 à 25.11). Suivez les étapes de l'option 2, l'étape 3 étant divisée en une mise à jour par saut :
-
É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éparer les AMI cibles.
-
Étape 2 — Réduire la taille de l'ensemble de la flotte. Enregistrez la capacité actuelle (voirÉtape 2 — Réduire la taille de l'ensemble de la flotte), puis définissez chaque groupe de nœuds de calcul sur zéro.
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}' -
Étape 3a — Mettez à jour le contrôleur du 23.11 au 25.05. Attendez que le cluster revienne à
ACTIVE.aws pcs update-cluster --cluster-identifiermy-cluster\ --scheduler version=25.05 -
Étape 3b — Mettez à jour le contrôleur du 25.05 au 25.11. Attendez que le cluster revienne à
ACTIVE.aws pcs update-cluster --cluster-identifiermy-cluster\ --scheduler version=25.11 -
É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-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --ami-idami-0123456789abcdef0\ --scaling-configuration '{"minNodeCount":previous-min, "maxNodeCount":previous-max}'
Note
Chaque saut de contrôleur doit atterrir 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 pendant les étapes 3a et 3b, de sorte qu'aucune mise à jour intermédiaire de l'AMI n'est requise.