Passer de la version AWS ParallelCluster 2.x à la version 3.x - AWS ParallelCluster

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.

Passer de la version AWS ParallelCluster 2.x à la version 3.x

Actions d'amorçage personnalisées

Avec AWS ParallelCluster 3, vous pouvez spécifier différents scripts d'actions d'amorçage personnalisés pour le nœud principal et les nœuds de calcul en utilisant les paramètres OnNodeStart (pre_installdans AWS ParallelCluster la version 2) et OnNodeConfigured (post_installdans AWS ParallelCluster la version 2) dans les sections HeadNodeet Scheduling/0.SlurmQueues Pour plus d'informations, veuillez consulter Actions de bootstrap personnalisées.

Les scripts d'actions bootstrap personnalisés développés pour AWS ParallelCluster 2 doivent être adaptés pour être utilisés dans AWS ParallelCluster 3 :

  • Nous vous déconseillons d'utiliser /etc/parallelcluster/cfnconfig et cfn_node_type de différencier les nœuds principaux et les nœuds de calcul. Nous vous recommandons plutôt de spécifier deux scripts différents dans les champs HeadNodeet Scheduling/SlurmQueues.

  • Si vous préférez poursuivre le chargement /etc/parallelcluster/cfnconfig pour l'utiliser dans votre script d'actions bootstrap, notez que la valeur de cfn_node_type est passée de « MasterServer » à « HeadNode » (voir :Langage inclusif).

  • Sur AWS ParallelCluster 2, le premier argument d'entrée des scripts d'action d'amorçage était l'URL S3 du script et était réservé. Dans la version AWS ParallelCluster 3, seuls les arguments configurés dans la configuration sont transmis aux scripts.

Avertissement

L'utilisation de variables internes fournies par le biais du /etc/parallelcluster/cfnconfig fichier n'est pas officiellement prise en charge. Ce fichier sera peut-être supprimé dans le cadre d'une prochaine version.

AWS ParallelClusterLes versions 2.x et 3.x utilisent une syntaxe de fichier de configuration différente

AWS ParallelClusterLa configuration 3.x utilise la syntaxe YAML. La référence complète se trouve à l'adresseFichiers de configuration.

Outre le format de fichier YAML requis, un certain nombre de sections de configuration, de paramètres et de valeurs de paramètres ont été mis à jour dans la version AWS ParallelCluster 3.x. Dans cette section, nous notons les principales modifications apportées à la AWS ParallelCluster configuration ainsi que des side-by-side exemples illustrant ces différences entre chaque version deAWS ParallelCluster.

Exemple de configuration de plusieurs files d'attente de planification avec l'hyperthreading activé et désactivé

AWS ParallelCluster2 :

[cluster default] queue_settings = ht-enabled, ht-disabled ... [queue ht-enabled] compute_resource_settings = ht-enabled-i1 disable_hyperthreading = false [queue ht-disabled] compute_resource_settings = ht-disabled-i1 disable_hyperthreading = true [compute_resource ht-enabled-i1] instance_type = c5n.18xlarge [compute_resource ht-disabled-i1] instance_type = c5.xlarge

AWS ParallelCluster3 :

... Scheduling: Scheduler: slurm SlurmQueues: - Name: ht-enabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-enabled-i1 DisableSimultaneousMultithreading: true InstanceType: c5n.18xlarge - Name: ht-disabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-disabled-i1 DisableSimultaneousMultithreading: false InstanceType: c5.xlarge

Exemple de nouvelle configuration du système de fichiers FSx pour Lustre

AWS ParallelCluster2 :

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx storage_capacity = 1200 imported_file_chunk_size = 1024 import_path = s3://bucket export_path = s3://bucket/export_dir weekly_maintenance_start_time = 3:02:30 deployment_type = PERSISTENT_1 data_compression_type = LZ4

AWS ParallelCluster3 :

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 ImportedFileChunkSize: 1024 ImportPath: s3://bucket ExportPath: s3://bucket/export_dir WeeklyMaintenanceStartTime: "3:02:30" DeploymentType: PERSISTENT_1 DataCompressionType: LZ4

Exemple de configuration de cluster permettant de monter un système de fichiers FSx for Lustre existant

AWS ParallelCluster2 :

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx fsx_fs_id = fsx_fs_id

AWS ParallelCluster3 :

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: FileSystemId: fsx_fs_id

Exemple de cluster avec la pile logicielle Intel HPC Platform Specification

AWS ParallelCluster2 :

[cluster default] enable_intel_hpc_platform = true ...

AWS ParallelCluster3 :

... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

Remarques :

Exemple de configurations IAM personnalisées, notamment : profil d'instance, rôle d'instance, politiques supplémentaires pour les instances et rôle des fonctions lambda associées au cluster

AWS ParallelCluster2 :

[cluster default] additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess ec2_iam_role = ec2_iam_role iam_lambda_role = lambda_iam_role ...

AWS ParallelCluster3 :

... Iam: Roles: CustomLambdaResources: lambda_iam_role HeadNode: ... Iam: InstanceRole: ec2_iam_role Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: InstanceProfile: iam_instance_profile - Name: queue2 ... Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess

Remarques :

  • Pour AWS ParallelCluster 2, les paramètres IAM sont appliqués à toutes les instances d'un cluster et ne additional_iam_policies peuvent pas être utilisés conjointement avecec2_iam_role.

  • Pour AWS ParallelCluster 3, vous pouvez définir des paramètres IAM différents pour les nœuds de tête et de calcul et même spécifier des paramètres IAM différents pour chaque file d'attente de calcul.

  • Pour AWS ParallelCluster 3, vous pouvez utiliser un profil d'instance IAM comme alternative à un rôle IAM. InstanceProfile, InstanceRole ou ne AdditionalIamPolicies peuvent pas être configurés ensemble.

Exemple d'actions d'amorçage personnalisées

AWS ParallelCluster2 :

[cluster default] s3_read_resource = arn:aws:s3:::bucket_name/* pre_install = s3://bucket_name/scripts/pre_install.sh pre_install_args = 'R curl wget' post_install = s3://bucket_name/scripts/post_install.sh post_install_args = "R curl wget" ...

AWS ParallelCluster3 :

... HeadNode: ... CustomActions: OnNodeStart: Script: s3://bucket_name/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://bucket_name/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: bucket_name Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://bucket_name/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://bucket_name/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: bucket_name

Exemple de cluster avec accès en lecture et en écriture aux ressources du compartiment S3

AWS ParallelCluster2 :

[cluster default] s3_read_resource = arn:aws:s3:::bucket/read_only/* s3_read_write_resource = arn:aws:s3:::bucket/read_and_write/* ...

AWS ParallelCluster3 :

... HeadNode: ... Iam: S3Access: - BucketName: bucket_name KeyName: read_only/ EnableWriteAccess: False - BucketName: bucket_name KeyName: read_and_write/ EnableWriteAccess: True Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName: bucket_name KeyName: read_only/ EnableWriteAccess: False - BucketName: bucket_name KeyName: read_and_write/ EnableWriteAccess: True

Langage inclusif

AWS ParallelCluster3 utilise les mots « nœud principal » aux endroits où « master » a été utilisé dans AWS ParallelCluster 2. Cela inclut les éléments suivants :

  • La variable exportée dans l'environnement de AWS Batch travail a été modifiée : de MASTER_IP àPCLUSTER_HEAD_NODE_IP.

  • Toutes les AWS CloudFormation sorties sont passées de Master* àHeadNode*.

  • Tous les NodeType tags ont été modifiés de Master àHeadNode.

Support pour les planificateurs

AWS ParallelCluster3.x ne prend pas en charge les programmateurs Son of Grid Engine (SGE) et Torque.

Les AWS Batch commandesawsbhosts,awsbkill, awsbout awsbqueuesawsbstat, et awsbsub sont distribuées sous la forme d'un package aws-parallelcluster-awsbatch-cli PyPI distinct. Ce package est installé AWS ParallelCluster sur le nœud principal. Vous pouvez toujours utiliser ces AWS Batch commandes depuis le nœud principal du cluster. Toutefois, si vous souhaitez utiliser des AWS Batch commandes provenant d'un emplacement autre que le nœud principal, vous devez d'abord installer le package aws-parallelcluster-awsbatch-cli PyPI.

CLI AWS ParallelCluster

L'interface de ligne de AWS ParallelCluster commande (CLI) a été modifiée. La nouvelle syntaxe est décrite dansCommandes de l'interface de ligne de commande AWS ParallelCluster. Le format de sortie de l'interface de ligne de commande est une chaîne JSON.

Configuration d'un nouveau cluster

La pcluster configure commande inclut des paramètres différents dans AWS ParallelCluster 3 par rapport à AWS ParallelCluster 2. Pour plus d'informations, veuillez consulter pcluster configure.

Notez également que la syntaxe du fichier de configuration est passée de AWS ParallelCluster 2. Pour une référence complète des paramètres de configuration du cluster, reportez-vous à la sectionFichier de configuration du cluster.

Création d'un nouveau cluster

AWS ParallelClusterLa pcluster create commande 2 a été remplacée par la pcluster create-clustercommande.

Notez que le comportement par défaut de la AWS ParallelCluster version 2.x, sans -nw cette option, consiste à attendre les événements de création du cluster, tandis que la commande AWS ParallelCluster 3.x renvoie immédiatement. La progression de la création du cluster peut être surveillée à l'aide de pcluster describe-cluster.

Un fichier de configuration AWS ParallelCluster 3 contient une seule définition de cluster ; le -t paramètre n'est donc plus nécessaire.

Voici un exemple de fichier de configuration.

# AWS ParallelCluster v2 $ pcluster create \ -r REGION \ -c V2_CONFIG_FILE \ -nw \ -t CLUSTER_TEMPLATE \ CLUSTER_NAME # AWS ParallelCluster v3 $ pcluster create-cluster \ --region REGION \ --cluster-configuration V3_CONFIG_FILE \ --cluster-name CLUSTER_NAME

Lister les clusters

La commande pcluster list AWS ParallelCluster 2.x doit être remplacée par une pcluster list-clusterscommande.

Remarque : Vous avez besoin de l'interface de ligne de commande AWS ParallelCluster v2 pour répertorier les clusters créés avec les versions 2.x de. AWS ParallelCluster Découvrez Installation AWS ParallelCluster dans un environnement virtuel (recommandé) comment installer plusieurs versions de l'AWS ParallelClusterutilisation d'environnements virtuels.

# AWS ParallelCluster v2 $ pcluster list -r REGION # AWS ParallelCluster v3 $ pcluster list-clusters --region REGION

Démarrage et arrêt d'un cluster

Les commandes pcluster start et pcluster stop AWS ParallelCluster 2.x doivent être remplacées par des pcluster update-compute-fleetcommandes.

Démarrage d'un parc informatique :

# AWS ParallelCluster v2 $ pcluster start \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status START_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status ENABLED

Arrêter un parc informatique :

# AWS ParallelCluster v2 $ pcluster stop \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status STOP_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status DISABLED

Connexion à un cluster

La commande pcluster ssh AWS ParallelCluster 2.x possède des noms de paramètres différents dans la version AWS ParallelCluster 3.x. Consultez pcluster ssh.

Connexion à un cluster :

# AWS ParallelCluster v2 $ pcluster ssh \ -r REGION \ CLUSTER_NAME \ -i ~/.ssh/id_rsa # AWS ParallelCluster v3 $ pcluster ssh \ --region REGION \ --cluster-name CLUSTER_NAME \ -i ~/.ssh/id_rsa

Mise à jour de la configuration IMDS

À partir de la version 3.0.0, la prise en charge de la restriction de l'accès à l'IMDS du nœud principal (et aux informations d'identification du profil d'instance) a AWS ParallelCluster été introduite à un sous-ensemble de superutilisateurs, par défaut. Pour plus d'informations, veuillez consulter Propriétés de Imds.