View a markdown version of this page

Configurazione e configurazione dell'host di lavoro - Deadline Cloud

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à.

Configurazione e configurazione dell'host di lavoro

Un worker host si riferisce a una macchina host che esegue un worker Deadline Cloud. Questa sezione spiega come configurare il worker host e configurarlo per esigenze specifiche. Ogni worker host esegue un programma chiamato worker agent. Il worker agent è responsabile di:

  • Gestione del ciclo di vita del lavoratore.

  • Sincronizzazione del lavoro assegnato, del suo avanzamento e dei risultati.

  • Monitoraggio del lavoro in corso.

  • Inoltro dei log alle destinazioni configurate.

Ti consigliamo di utilizzare l'agente di lavoro Deadline Cloud fornito. Il worker agent è open source e incoraggiamo la richiesta di funzionalità, ma puoi anche svilupparlo e personalizzarlo in base alle tue esigenze.

Per completare le attività nelle seguenti sezioni, è necessario quanto segue:

Linux
  • Un'Linuxistanza basata su Amazon Elastic Compute Cloud (Amazon EC2). Consigliamo Amazon Linux 2023.

  • sudoprivilegi

  • Python 3.9 o versioni successive

Windows
  • Un'Windowsistanza basata su Amazon Elastic Compute Cloud (Amazon EC2). Consigliamo. Windows Server 2022

  • Accesso da amministratore all'host del lavoratore

  • Python 3.9 o successivo installato per tutti gli utenti

Crea e configura un ambiente virtuale Python

Puoi creare un ambiente virtuale Python su Linux se hai installato Python 3.9 o versioni successive e lo hai inserito nel tuo. PATH

Nota

SìWindows, i file dell'agente devono essere installati nella directory globale dei pacchetti del sito di Python. Gli ambienti virtuali Python non sono attualmente supportati.

Per creare e attivare un ambiente virtuale Python
  1. Apri un terminale come root utente (o usasudo/su).

  2. Crea e attiva un ambiente virtuale Python.

    python3 -m venv /opt/deadline/worker source /opt/deadline/worker/bin/activate pip install --upgrade pip

Installa l'agente di lavoro Deadline Cloud

Dopo aver configurato Python e creato un ambiente virtualeLinux, installa i pacchetti Python di Deadline Cloud worker agent.

Per installare i pacchetti Python del worker agent

Linux
  1. Apri un terminale come root utente (o usasudo/su).

  2. Scarica e installa i pacchetti di agenti Deadline Cloud Worker da PyPI:

    /opt/deadline/worker/bin/python -m pip install deadline-cloud-worker-agent
Windows
  1. Apri il prompt dei comandi o il PowerShell terminale di un amministratore.

  2. Scarica e installa i pacchetti Deadline Cloud worker agent da PyPI:

    python -m pip install deadline-cloud-worker-agent

Quando il tuo Windows worker host richiede nomi di percorso lunghi (superiori a 250 caratteri), devi abilitare i nomi di percorso lunghi come segue:

  1. Assicurati che la chiave di registro a percorso lungo sia abilitata. Per ulteriori informazioni, vedere Impostazione del registro per abilitare i percorsi di registro sul sito Web Microsoft.

  2. Installa l'WindowsSDK per le app desktop C++ x86. Per ulteriori informazioni, consulta Windows SDK nel Dev Center. Windows

  3. Apri il percorso di installazione di Python nell'ambiente in cui è installato il worker agent. Il valore predefinito è C:\Program Files\Python311. Esiste un file eseguibile denominato. pythonservice.exe

  4. Crea un nuovo file chiamato pythonservice.exe.manifest nella stessa posizione. Aggiungi quanto segue:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="pythonservice" processorArchitecture="x86" version="1.0.0.0"/> <application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware> </windowsSettings> </application> </assembly>
  5. Apri un prompt dei comandi ed esegui il comando seguente nella posizione del file manifesto che hai creato:

    "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\mt.exe" -manifest pythonservice.exe.manifest -outputresource:pythonservice.exe;#1

    Verrà visualizzato un output simile al seguente:

    Microsoft (R) Manifest Tool Copyright (c) Microsoft Corporation. All rights reserved.

Il lavoratore è ora in grado di accedere a percorsi lunghi. Per ripulire, rimuovi il pythonservice.exe.manifest file e disinstalla l'SDK.

Configura il worker agent di Deadline Cloud

È possibile configurare le impostazioni dell'agente di lavoro di Deadline Cloud in tre modi. Ti consigliamo di utilizzare la configurazione del sistema operativo eseguendo lo install-deadline-worker strumento.

Argomenti della riga di comando: puoi specificare gli argomenti quando esegui l'agente worker Deadline Cloud dalla riga di comando. Alcune impostazioni di configurazione non sono disponibili tramite gli argomenti della riga di comando. Per visualizzare tutti gli argomenti della riga di comando disponibili, inseriscideadline-worker-agent --help.

Variabili di ambiente: puoi configurare l'agente worker di Deadline Cloud impostando la variabile di ambiente che inizia conDEADLINE_WORKER_. Ad esempio, per visualizzare tutti gli argomenti della riga di comando disponibili, puoi utilizzare export DEADLINE_WORKER_VERBOSE=true per impostare l'output del worker agent su dettagliato. Per ulteriori esempi e informazioni, vedere /etc/amazon/deadline/worker.toml.example on Linux o C:\ProgramData\Amazon\Deadline\Config\worker.toml.example on. Windows

File di configurazione: quando si installa il worker agent, viene creato un file di configurazione che si trova in /etc/amazon/deadline/worker.toml on Linux o C:\ProgramData\Amazon\Deadline\Config\worker.toml onWindows. Il worker agent carica questo file di configurazione all'avvio. È possibile utilizzare il file di configurazione di esempio (/etc/amazon/deadline/worker.toml.exampleattivo Linux o C:\ProgramData\Amazon\Deadline\Config\worker.toml.example attivoWindows) per personalizzare il file di configurazione predefinito del worker agent in base alle proprie esigenze specifiche.

Infine, ti consigliamo di abilitare lo spegnimento automatico per il worker agent dopo che il software è stato distribuito e funziona come previsto. Ciò consente alla flotta di lavoratori di ampliarsi quando necessario e di chiudersi quando un lavoro finisce. Il ridimensionamento automatico aiuta a garantire l'utilizzo solo delle risorse necessarie. Per consentire la chiusura di un'istanza avviata dal gruppo di auto scaling, è necessario aggiungerla shutdown_on_stop=true al worker.toml file di configurazione.

Per abilitare lo spegnimento automatico

Come root utente:

  • Installa il worker agent con i parametri--allow-shutdown.

    Linux

    Inserisci:

    /opt/deadline/worker/bin/install-deadline-worker \ --farm-id FARM_ID \ --fleet-id FLEET_ID \ --region REGION \ --allow-shutdown
    Windows

    Inserisci:

    install-deadline-worker ^ --farm-id FARM_ID ^ --fleet-id FLEET_ID ^ --region REGION ^ --allow-shutdown

Crea utenti e gruppi di lavoro

Questa sezione descrive la relazione utente e gruppo richiesta tra l'utente agente e quella jobRunAsUser definita nelle code.

L'agente worker di Deadline Cloud deve essere eseguito come utente dedicato specifico all'agente sull'host. È necessario configurare la jobRunAsUser proprietà delle code di Deadline Cloud in modo che i lavoratori eseguano i lavori in coda come utente e gruppo specifici del sistema operativo. Questa configurazione significa che puoi controllare le autorizzazioni del file system condiviso di cui dispongono i tuoi lavori. Fornisce inoltre un importante confine di sicurezza tra i lavori e l'utente worker agent.

Linuxutenti e gruppi di lavoro

Per configurare un utente worker agent locale ejobRunAsUser, assicurati di soddisfare i seguenti requisiti. Se si utilizza un Linux Pluggable Authentication Module (PAM) come Active Directory o LDAP, la procedura potrebbe essere diversa.

L'utente del worker agent e il jobRunAsUser gruppo condiviso vengono impostati quando si installa il worker agent. I valori predefiniti sono deadline-worker-agent edeadline-job-users, ma è possibile modificarli quando si installa il worker agent.

install-deadline-worker \ --user AGENT_USER_NAME \ --group JOB_USERS_GROUP

I comandi devono essere eseguiti come utente root.

  • Ciascuno jobRunAsUser deve avere un gruppo primario corrispondente. La creazione di un utente con il adduser comando in genere crea un gruppo primario corrispondente.

    adduser -r -m jobRunAsUser
  • Il gruppo principale di jobRunAsUser è un gruppo secondario per l'utente del worker agent. Il gruppo condiviso consente all'agente di lavoro di rendere i file disponibili per il lavoro mentre è in esecuzione.

    usermod -a -G jobRunAsUser deadline-worker-agent
  • jobRunAsUserDeve essere un membro del gruppo di lavoro condiviso.

    usermod -a -G deadline-job-users jobRunAsUser
  • Non jobRunAsUser deve appartenere al gruppo principale dell'utente dell'agente di lavoro. I file sensibili scritti dall'agente lavoratore sono di proprietà del gruppo principale dell'agente. Se a jobRunAsUser fa parte di questo gruppo, i file dell'agente di lavoro possono essere accessibili ai lavori in esecuzione sul lavoratore.

  • L'impostazione predefinita Regione AWS deve corrispondere alla regione dell'azienda agricola a cui appartiene il lavoratore. Applica questa impostazione a tutti jobRunAsUser gli account del lavoratore.

    sudo -u jobRunAsUser aws configure set default.region aws-region
  • L'utente del worker agent deve essere in grado di eseguire sudo comandi comejobRunAsUser. Esegui il comando seguente per aprire un editor e creare una nuova regola sudoers:

    visudo -f /etc/sudoers.d/deadline-worker-job-user

    Aggiungi quanto segue al file:

    # Allows the Deadline Cloud worker agent OS user to run commands # as the queue OS user without requiring a password. deadline-worker-agent ALL=(jobRunAsUser) NOPASSWD:ALL

Il diagramma seguente illustra la relazione tra l'utente agente e gli jobRunAsUser utenti e i gruppi per le code associati alla flotta.

Un'illustrazione della relazione tra agente-utente e code attive. jobRunAsUser

Utenti Windows

Per utilizzare un Windows utente come utentejobRunAsUser, deve soddisfare i seguenti requisiti:

  • Tutti gli jobRunAsUser utenti della coda devono esistere.

  • Le loro password devono corrispondere al valore del segreto specificato nel campo della coda. JobRunAsUser Per istruzioni, consulta il passaggio 7 nelle code di Deadline Cloud nella Guida per l'utente di AWS Deadline Cloud.

  • L'agente-utente deve essere in grado di accedere come tali utenti.

Protezione dell'host di lavoro

Quando configuri il tuo worker host, segui le best practice di sicurezza per proteggere le informazioni sensibili e mantenere adeguati controlli di accesso.

Configurazione delle autorizzazioni per le cartelle di registro

L'agente di lavoro scrive file di registro che possono contenere informazioni riservate provenienti dagli script di configurazione dell'host e dall'esecuzione dei processi. Il install-deadline-worker comando crea la directory di log con autorizzazioni sicure. Se è necessario creare la directory manualmente prima dell'installazione, utilizzare le seguenti procedure per abbinare le autorizzazioni utilizzate dai parchi veicoli gestiti dal servizio:

Linux
Per configurare le autorizzazioni delle directory di log su Linux
  1. Creare la directory di log:

    sudo mkdir -p /var/log/amazon/deadline
  2. Imposta il proprietario e il gruppo sull'utente del worker agent:

    sudo chown -R deadline-worker-agent:deadline-worker-agent /var/log/amazon/deadline
  3. Imposta le autorizzazioni su 750:

    sudo chmod -R 750 /var/log/amazon/deadline

    Queste autorizzazioni assicurano che solo l'utente e il gruppo del worker agent possano accedere ai file di registro, impedendo agli utenti del lavoro e ad altri utenti non autorizzati di leggere informazioni potenzialmente sensibili.

Windows
Per configurare le autorizzazioni delle directory di log su Windows
  1. Aprire un PowerShell terminale di amministrazione.

  2. Crea la directory dei log:

    New-Item -ItemType Directory -Force -Path "$env:PROGRAMDATA\Amazon\Deadline\Logs"
  3. Configura gli ACL limitati per consentire solo l'utente e gli amministratori del worker agent:

    $acl = Get-Acl "$env:PROGRAMDATA\Amazon\Deadline\Logs" $acl.SetAccessRuleProtection($true, $false) $acl.Access | ForEach-Object { $acl.RemoveAccessRule($_) } $agentRule = New-Object System.Security.AccessControl.FileSystemAccessRule("deadline-worker", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow") $adminRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrators", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow") $acl.AddAccessRule($agentRule) $acl.AddAccessRule($adminRule) Set-Acl "$env:PROGRAMDATA\Amazon\Deadline\Logs" $acl

    Questi comandi limitano l'accesso alla directory di log solo all'utente del worker agent e al gruppo Administrators, impedendo agli utenti del job e ad altri utenti non autorizzati di leggere informazioni potenzialmente riservate.