View a markdown version of this page

Esempi di azioni relative al ciclo di vita dei nodi per AWS 2 PEZZI - AWS PEZZI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di azioni relative al ciclo di vita dei nodi per AWS 2 PEZZI

Gli esempi seguenti utilizzano il AWS CLI per configurare le azioni del ciclo di vita dei nodi. È possibile definire le azioni del ciclo di vita quando si crea un gruppo di nodi di calcolo concreate-compute-node-group, oppure le si aggiunge o si modifica su un gruppo di nodi di calcolo esistente con. update-compute-node-group Il --node-lifecycle-actions valore è lo stesso per entrambi i comandi.

Script multipli tra le fasi

Questo esempio combina script in entrambe le fasi del ciclo di vita con politiche di esecuzione e comportamenti di errore diversi.

aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='1' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=0,maxInstanceCount=10 \ --instance-configs instanceType=t3.large \ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Mount FSx Lustre", "scriptSource": { "scriptLocation": "s3://my-bucket/mount-fsx.sh" }, "arguments": ["fs-0abc123", "/scratch"], "executionPolicy": "EVERY_BOOT" }, { "name": "Join Active Directory", "scriptSource": { "scriptLocation": "s3://my-bucket/configure-ad.sh" }, "arguments": ["ad.example.com", "EXAMPLE"], "executionPolicy": "FIRST_BOOT_ONLY" } ], "nodeReady": [ { "name": "Configure CloudWatch logging", "scriptSource": { "scriptLocation": "s3://my-bucket/setup-cloudwatch.sh" }, "arguments": ["/aws/pcs/my-cluster"], "onError": "CONTINUE" } ] } }'

Comportamento di errore misto

Questo esempio utilizza script critici e opzionali nella stessa fase. Il primo termina il nodo in caso di errore; il secondo continua.

aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='1' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=0,maxInstanceCount=10 \ --instance-configs instanceType=t3.large \ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Install required packages", "scriptSource": { "scriptLocation": "s3://my-bucket/install-packages.sh" }, "onError": "TERMINATE" }, { "name": "Install optional tools", "scriptSource": { "scriptLocation": "s3://my-bucket/install-optional.sh" }, "onError": "CONTINUE" } ] } }'

Convalida dell'integrità con un checksum

Aggiunge un SHA-256 checksum in modo che l'agente rifiuti uno script se il suo contenuto non corrisponde.

aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Mount EFS", "scriptSource": { "scriptLocation": "s3://my-bucket/mount-efs.sh", "checksum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, "arguments": ["fs-12345678", "/shared"] } ] } }'

Abilita l'aggiornamento dello script al riavvio

Imposta scriptCachingPolicy su. REFRESH_ON_REBOOT Questa UpdateComputeNodeGroup chiamata è una modifica della configurazione, quindi prosciuga e sostituisce le istanze esistenti. Una volta completata la sostituzione, le istanze scaricano nuovamente gli script a ogni riavvio. Puoi quindi aggiornare il contenuto degli script in Amazon S3 e le istanze riprenderanno le modifiche al successivo riavvio senza ulteriori chiamate API.

aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Mount EFS", "scriptSource": { "scriptLocation": "s3://my-bucket/mount-efs.sh" }, "arguments": ["fs-12345678", "/shared"], "executionPolicy": "EVERY_BOOT" } ] }, "scriptCachingPolicy": "REFRESH_ON_REBOOT" }'

Migrazione dalle azioni bootstrap di AWS ParallelCluster

Molti script di AWS ParallelCluster bootstrap esistenti funzionano così come sono con le azioni del ciclo di vita di PCS. AWS AWS PCS fornisce la gestione degli errori per script (TERMINATE,, o) e il controllo del riavvio STOP_SEQUENCE (orCONTINUE). FIRST_BOOT_ONLY EVERY_BOOT L'impostazione predefinita del AWS PCS è. FIRST_BOOT_ONLY Per far corrispondere ParallelCluster il comportamento (eseguito ad ogni avvio), imposta executionPolicy suEVERY_BOOT.

AWS ParallelCluster

AWS PCS

OnNodeStart

nodeBootstrapped(viene eseguito dopo la fase di configurazione del AWS PCS, primaslurmd)

OnNodeConfigured

nodeReady(viene eseguito dopo la registrazione del nodo con il controller Slurm)

OnNodeUpdated

Nessun equivalente PCS AWS