Ejecute scripts como administrador para configurar los trabajadores - Nube de plazos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecute scripts como administrador para configurar los trabajadores

Los scripts de configuración personalizados del host de la flota le permiten realizar tareas administrativas, como la instalación de software, en los trabajadores de su flota gestionados por el servicio. Estos scripts se ejecutan con privilegios elevados, lo que le brinda la flexibilidad de configurar a sus trabajadores para su sistema.

Deadline Cloud ejecuta el script después de que el trabajador entre en el STARTING estado y antes de que ejecute cualquier tarea.

importante

El script se ejecuta con permisos elevados sudo en los Linux sistemas y como «Administrador» en Windows los sistemas. Es su responsabilidad asegurarse de que el script no presente ningún problema de seguridad.

Cuando utilizas un script de administración, eres responsable de supervisar el estado de tu flota.

Entre los usos más comunes del script se incluyen los siguientes:

  • Instalar software que requiera acceso de administrador

  • Instalación de Docker contenedores

Puede crear y actualizar un script de configuración de host mediante la consola o mediante el AWS CLI.

Console
  1. En la página de detalles de la flota, seleccione la pestaña Configuraciones.

  2. En el campo Secuencia de comandos, introduzca la secuencia de comandos que desee ejecutar con permisos elevados. Puede elegir Importar para cargar un script desde su estación de trabajo.

  3. Establezca un período de espera en segundos para ejecutar el script. El valor predeterminado es 300 segundos (5 minutos).

  4. Seleccione Guardar cambios para guardar el script.

Create with CLI

Utilice el siguiente AWS CLI comando para crear una flota con un script de configuración del host. Sustituya el placeholder texto por su información.

aws deadline-internal create-fleet \ --farm-id farm-12345 \ --display-name "fleet-name" \ --max-worker-count 1 \ --configuration '{ "serviceManagedEc2": { "instanceCapabilities": { "vCpuCount": {"min": 2}, "memoryMiB": {"min": 4096}, "osFamily": "linux", "cpuArchitectureType": "x86_64" }, "instanceMarketOptions": {"type":"spot"} } }' \ --role-arn arn:aws:iam::111122223333:role/role-name \ --host-configuration '{ "scriptBody": "script body", "scriptTimeoutSeconds": timeout value}'
Update with CLI

Usa el siguiente AWS CLI comando para actualizar el script de configuración del anfitrión de una flota. Sustituya el placeholder texto por su información.

aws deadline update-fleet \ --farm-id farm-12345 \ --fleet-id fleet-455678 \ --host-configuration '{ "scriptBody": "script body", "scriptTimeoutSeconds": timeout value}'

Los siguientes guiones muestran lo siguiente:

  • Las variables de entorno disponibles para el script

  • Esas AWS credenciales funcionan en el shell

  • Que el script se ejecuta en un shell elevado

Linux

Utilice el siguiente script para mostrar que un script se está ejecutando con root privilegios:

# Print environment variables set # Check AWS Credentials aws sts get-caller-identity
Windows

Utilice el siguiente PowerShell script para mostrar que un script se está ejecutando con privilegios de administrador:

Get-ChildItem env: | ForEach-Object { "$($_.Name)=$($_.Value)" } aws sts get-caller-identity function Test-AdminPrivileges { $currentUser = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $isAdmin = $currentUser.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) return $isAdmin } if (Test-AdminPrivileges) { Write-Host "The current PowerShell session is elevated (running as Administrator)." } else { Write-Host "The current PowerShell session is not elevated (not running as Administrator)." } exit 0

Solución de problemas de scripts de configuración del host

Al ejecutar el script de configuración del host:

  • En caso de éxito: el trabajador ejecuta el trabajo

  • En caso de fallo (código de salida distinto de cero o bloqueo):

    • El trabajador cierra

    La flota lanza automáticamente a un nuevo trabajador mediante el último script de configuración del host

Para supervisar el script:

  1. Abre la página de la flota en la consola de Deadline Cloud

  2. Selecciona Ver trabajadores para abrir el monitor de Deadline Cloud

  3. Vea el estado del trabajador en la página del monitor

Notas importantes:

  • Los trabajadores que dejan de trabajar debido a un error no están disponibles en la lista de trabajadores del monitor. Utilice CloudWatch los registros para ver los registros de los trabajadores del siguiente grupo de registros:

    /aws/deadline/farm-XXXXX/fleet-YYYYY

    Dentro de ese grupo de registros hay un flujo de

    worker-ZZZZZ
  • CloudWatch Los registros conservan los registros de los trabajadores según el período de retención configurado.