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à.
Utilizzo di istanze autonome come AWS PCS nodi di accesso
Puoi configurare EC2 istanze indipendenti per interagire con lo scheduler Slurm di un AWS PCS cluster. Ciò è utile per creare nodi di accesso, workstation o host dedicati alla gestione del flusso di lavoro che funzionano con AWS PCS i cluster ma operano al di fuori della gestione. AWS PCS A tale scopo, ogni istanza autonoma deve:
-
Avere installata una versione del software Slurm compatibile.
-
Essere in grado di connettersi all'endpoint AWS PCS Slurmctld del cluster.
-
Configurate correttamente Slurm Auth e Cred Kiosk Daemon () con l'endpoint e il segreto del cluster.
sackd
AWS PCS Per ulteriori informazioni, consulta sackd nella documentazione di Slurm.
Questo tutorial ti aiuta a configurare un'istanza indipendente che si connette a un cluster. AWS PCS
Indice
- Passaggio 1: recuperare l'indirizzo e il segreto per il cluster di destinazione AWS PCS
- Passaggio 2: avviare un'EC2istanza
- Passaggio 3: installa Slurm sull'istanza
- Fase 4 — Recuperare e archiviare il segreto del cluster
- Fase 5 — Configurare la connessione al cluster AWS PCS
- Fase 6 — (Facoltativo) Verifica della connessione
Passaggio 1: recuperare l'indirizzo e il segreto per il cluster di destinazione AWS PCS
Recupera i dettagli sul AWS PCS cluster di destinazione utilizzando AWS CLI il comando che segue. Prima di eseguire il comando, apporta le modifiche seguenti:
-
Replace (Sostituisci)
region-code
con il Regione AWS luogo in cui è in esecuzione il cluster di destinazione. -
Replace (Sostituisci)
cluster-ident
con il nome o l'identificatore del cluster di destinazione
aws pcs get-cluster --region
region-code
--cluster-identifiercluster-ident
Il comando restituirà un output simile a questo esempio.
{ "cluster": { "name": "get-started", "id": "pcs_123456abcd", "arn": "arn:aws:pcs:us-east-1:111122223333:cluster/pcs_123456abcd", "status": "ACTIVE", "createdAt": "2024-09-23T21:03:52+00:00", "modifiedAt": "2024-09-23T21:03:52+00:00", "scheduler": { "type": "SLURM", "version": "23.11" }, "size": "SMALL", "slurmConfiguration": { "authKey": { "secretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:pcs!slurm-secret-pcs_123456abcd-a12ABC", "secretVersion": "ef232370-d3e7-434c-9a87-ec35c1987f75" } }, "networking": { "subnetIds": [ "subnet-0123456789abcdef0" ], "securityGroupIds": [ "sg-0123456789abcdef0" ] }, "endpoints": [ { "type": "SLURMCTLD", "privateIpAddress": "10.3.149.220", "port": "6817" } ] } }
In questo esempio, l'endpoint del controller Slurm del cluster ha un indirizzo IP di 10.3.149.220
ed è in esecuzione sulla porta. 6817
secretArn
Verrà utilizzato nei passaggi successivi per recuperare il segreto del cluster. L'indirizzo IP e la porta verranno utilizzati nei passaggi successivi per configurare il sackd
servizio.
Passaggio 2: avviare un'EC2istanza
Per avviare un'istanza EC2
-
Apri la EC2console Amazon
. -
Nel pannello di navigazione, scegli Instances (Istanze) e quindi scegli Launch instances (Avvia istanze) per aprire la nuova procedura guidata di avvio dell'istanza.
-
(Facoltativo) Nella sezione Nome e tag, fornisci un nome per l'istanza, ad esempio
PCS-LoginNode
. Il nome viene assegnato all'istanza come tag di risorsa (Name=PCS-LoginNode
). -
Nella sezione Immagini dell'applicazione e del sistema operativo, selezionate uno AMI per uno dei sistemi operativi supportati da AWS PCS. Per ulteriori informazioni, consulta Sistemi operativi supportati.
-
Nella sezione Tipo di istanza, seleziona un tipo di istanza supportato. Per ulteriori informazioni, consulta Tipi di istanze supportati.
-
Nella sezione Key pair, seleziona la coppia di SSH chiavi da usare per l'istanza.
-
Nella sezione Impostazioni di rete:
-
Scegli Modifica.
-
Seleziona il VPC tipo del tuo AWS PCS cluster.
-
Per Firewall (gruppi di sicurezza), scegli Seleziona gruppo di sicurezza esistente.
-
Seleziona un gruppo di sicurezza che consenta il traffico tra l'istanza e il controller AWS PCS Slurm del cluster di destinazione. Per ulteriori informazioni, consulta Requisiti e considerazioni sui gruppi di sicurezza.
-
(Facoltativo) Seleziona un gruppo di sicurezza che consenta l'SSHaccesso in entrata alla tua istanza.
-
-
-
-
Nella sezione Archiviazione, configura i volumi di archiviazione in base alle esigenze. Assicurati di configurare uno spazio sufficiente per installare applicazioni e librerie adatte al tuo caso d'uso.
-
In Avanzato, scegli un IAM ruolo che consenta l'accesso al segreto del cluster. Per ulteriori informazioni, consulta Ottieni il segreto del cluster Slurm.
-
Nel riquadro Riepilogo, scegli Launch instance.
Passaggio 3: installa Slurm sull'istanza
Quando l'istanza è stata lanciata e diventa attiva, connettiti ad essa utilizzando il tuo meccanismo preferito. Utilizza il programma di installazione Slurm fornito da AWS per installare Slurm sull'istanza. Per ulteriori informazioni, consulta Programma di installazione Slurm.
Scarica il programma di installazione di Slurm, decomprimilo e usa lo script per installare Slurm. installer.sh
Per ulteriori informazioni, consulta Passaggio 3: installa Slurm.
Fase 4 — Recuperare e archiviare il segreto del cluster
Queste istruzioni richiedono il. AWS CLI Per ulteriori informazioni, vedere Installazione o aggiornamento alla versione più recente di AWS CLI nella Guida per l'AWS Command Line Interface utente della versione 2.
Memorizza il segreto del cluster con i seguenti comandi.
-
Crea la directory di configurazione per Slurm.
sudo mkdir -p /etc/slurm
-
Recupera, decodifica e archivia il segreto del cluster. Prima di eseguire questo comando, sostituisci
region-code
con la regione in cui è in esecuzione il cluster di destinazione e sostituiscisecret-arn
con il valoresecretArn
recuperato nel passaggio 1.sudo aws secretsmanager get-secret-value \ --region
region-code
\ --secret-id'secret-arn'
\ --version-stage AWSCURRENT \ --query'SecretString'
\ --output text | base64 -d > /etc/slurm/slurm.keyavvertimento
In un ambiente multiutente, qualsiasi utente con accesso all'istanza potrebbe essere in grado di recuperare il segreto del cluster se può accedere al servizio di metadati dell'istanza (). IMDS Questo, a sua volta, potrebbe consentire loro di impersonare altri utenti. Valuta la possibilità di limitare l'accesso solo IMDS agli utenti root o amministrativi. In alternativa, prendi in considerazione l'utilizzo di un meccanismo diverso che non si basi sul profilo dell'istanza per recuperare e configurare il segreto.
-
Imposta proprietà e autorizzazioni sul file chiave Slurm.
sudo chmod 0600 /etc/slurm/slurm.key sudo chown slurm:slurm /etc/slurm/slurm.key
Nota
La chiave Slurm deve essere di proprietà dell'utente e del gruppo con cui viene eseguito il servizio.
sackd
Fase 5 — Configurare la connessione al cluster AWS PCS
Per stabilire una connessione al AWS PCS cluster, sackd
avvialo come servizio di sistema seguendo questi passaggi.
-
Imposta il file di ambiente per il
sackd
servizio con il comando che segue. Prima di eseguire il comando, sostituisciip-address
eport
con i valori recuperati dagli endpoint nel passaggio 1.sudo echo "SACKD_OPTIONS='--conf-server=
ip-address
:port
'" > /etc/sysconfig/sackd -
Crea un file
systemd
di servizio per la gestione delsackd
processo.sudo cat << EOF > /etc/systemd/system/sackd.service [Unit] Description=Slurm auth and cred kiosk daemon After=network-online.target remote-fs.target Wants=network-online.target ConditionPathExists=/etc/sysconfig/sackd [Service] Type=notify EnvironmentFile=/etc/sysconfig/sackd User=slurm Group=slurm RuntimeDirectory=slurm RuntimeDirectoryMode=0755 ExecStart=/opt/aws/pcs/scheduler/slurm-23.11/sbin/sackd --systemd \$SACKD_OPTIONS ExecReload=/bin/kill -HUP \$MAINPID KillMode=process LimitNOFILE=131072 LimitMEMLOCK=infinity LimitSTACK=infinity [Install] WantedBy=multi-user.target EOF
-
Imposta la proprietà del file
sackd
di servizio.sudo chown root:root /etc/systemd/system/sackd.service && \ sudo chmod 0644 /etc/systemd/system/sackd.service
-
Abilita il
sackd
servizio.sudo systemctl daemon-reload && sudo systemctl enable sackd
-
Avviare il servizio
sackd
.sudo systemctl start sackd
Fase 6 — (Facoltativo) Verifica della connessione
Verificare che il sackd
servizio sia in esecuzione. Di seguito è riportato un output di esempio. Se ci sono errori, di solito vengono visualizzati qui.
[root@ip-10-3-27-112 ~]# systemctl status sackd [x] sackd.service - Slurm auth and cred kiosk daemon Loaded: loaded (/etc/systemd/system/sackd.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2024-07-16 16:34:55 UTC; 8s ago Main PID: 9985 (sackd) CGroup: /system.slice/sackd.service └─9985 /opt/aws/pcs/scheduler/slurm-23.11/sbin/sackd --systemd --conf-server=10.3.149.220:6817 Jul 16 16:34:55 ip-10-3-27-112.ec2.internal systemd[1]: Starting Slurm auth and cred kiosk daemon... Jul 16 16:34:55 ip-10-3-27-112.ec2.internal systemd[1]: Started Slurm auth and cred kiosk daemon. Jul 16 16:34:55 ip-10-3-27-112.ec2.internal sackd[9985]: sackd: running
Conferma che le connessioni al cluster funzionino utilizzando i comandi del client Slurm come esinfo
. squeue
Ecco un esempio di output da. sinfo
[root@ip-10-3-27-112 ~]# /opt/aws/pcs/scheduler/slurm-23.11/bin/sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST all up infinite 4 idle~ compute-[1-4]
Dovresti anche essere in grado di inviare offerte di lavoro. Ad esempio, un comando simile a questo esempio avvierebbe un processo interattivo su 1 nodo del cluster.
/opt/aws/pcs/scheduler/slurm-23.11/bin/srun --nodes=1 -p all --pty bash -i