工作主机设置和配置 - AWS 截止日期云

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

工作主机设置和配置

工作主机是指运行 Deadline Cloud 工作线程的主机。本节介绍如何设置工作主机并根据您的特定需求对其进行配置。每台工作器主机都运行一个名为工作器代理的程序。工作人员代理负责:

  • 管理工作人员的生命周期。

  • 同步分配的工作、其进度和结果。

  • 监控正在运行的工作。

  • 将日志转发到已配置的目的地。

我们建议您使用提供的 Deadline Cloud 工作者代理。worker 代理是开源的,我们鼓励您提出功能请求,但您也可以根据自己的需求进行开发和定制。

要完成以下各节中的任务,您需要具备以下条件:

Linux
  • Linux基于亚马逊弹性计算云 (Amazon EC2) 的 Amazon EC2 实例。我们推荐亚马逊 Linux 2023。

  • sudo特权。

  • Python 3.9 或更高版本。

Windows
  • Windows基于亚马逊弹性计算云 (Amazon EC2) 的 Amazon EC2 实例。我们推荐Windows Server 2022。

  • 管理员对工作主机的访问权限

  • 已为所有用户安装了 Python 3.9 或更高版本

创建和配置 Python 虚拟环境

Linux如果您已经安装了 Python 3.9 或更高版本并将其放置在您的 Python 虚拟环境中,则可以在上创建 Python 虚拟环境PATH

创建和激活 Python 虚拟环境
  1. 打开 AWS CLI.

  2. 创建并激活 Python 虚拟环境。

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

安装 Deadline Cloud

设置 Python 并在上创建虚拟环境后,安装 Deadline Cloud 工作器代理 Python 软件包。Linux

安装工作器代理 Python 软件包
  1. 打开终端。

    1. 开启Linux,以root用户身份打开终端(或使用sudo/su

    2. 打开Windows,打开管理员命令提示符或 PowerShell终端。

  2. 从 PyPI 下载并安装 Deadline Cloud 工作器代理包:

    注意

    启用Windows,必须将代理文件安装到 Python 的全局站点包目录中。目前不支持 Python 虚拟环境。

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

配置 Deadline 云端工作器代理

您可以通过三种方式配置 Deadline Cloud 工作器代理设置。我们建议您使用通过设置的操作系统install-deadline-worker

命令行参数 — 当从命令行运行 Deadline Cloud 工作器代理时,您可以指定参数。某些配置设置无法通过命令行参数获得。要查看所有可用的命令行参数,请输入deadline-worker-agent --help以查看所有可用的命令行参数。

环境变量 — 您可以通过设置以开头的环境变量来配置 Deadline Cloud 工作器代理DEADLINE_WORKER_。例如,您可以使用export DEADLINE_WORKER_VERBOSE=true将工作器代理的输出设置为详细。有关更多示例和信息,请参阅 /etc/amazon/deadline/worker.toml.example on Linux 或 C:\ProgramData\Amazon\Deadline\Config\worker.toml.example on Windows。

配置文件-安装工作器代理时,它会创建一个位于 /etc/amazon/deadline/worker.toml on Linux 或 C:\ProgramData\Amazon\Deadline\Config\worker.toml on 的配置文件Windows。工作器代理在启动时加载此配置文件。您可以使用示例配置文件(/etc/amazon/deadline/worker.toml.example开启Linux或开C:\ProgramData\Amazon\Deadline\Config\worker.toml.example启Windows)根据您的特定需求定制默认工作器代理配置文件。

最后,我们建议您为工作器代理启用 auto shutdown。这允许工作人员队列在需要时扩大规模,并在渲染作业完成时关闭。自动缩放有助于确保您仅在需要时使用资源。

启用 auto 关机

作为root用户:

  • 安装带有参数的工作器代理--allow-shutdown

    Linux

    输入:

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

    输入:

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

创建作业用户和群组

本节介绍代理用户与队列中jobRunAsUser定义的用户之间所需的用户和群组关系。

Deadline Cloud 工作服务器代理应以主机上特定代理的专用用户身份运行。您应配置 Deadline Cloud 队列的jobRunAsUser属性,以便工作人员以特定的操作系统用户和组的身份运行队列作业。这意味着您可以控制作业拥有的共享文件系统权限。它还提供了作业和工作代理用户之间的重要安全边界。

Linux工作用户和群组

要设置您的代理用户和jobRunAsUser,请确保满足以下要求:

  • 每个组都有一个组jobRunAsUser,它是其对应的主组jobRunAsUser

  • 代理用户属于该工作人员获得jobRunAsUser工作的队列的主组。为了获得最佳安全实践,我们建议将其作为代理用户的次要群组。此共享组允许工作器代理在作业运行时为其提供文件。

  • A jobRunAsUser 属于代理用户的主组。有关安全最佳实践,请执行以下操作:

    • 工作器代理写入的敏感文件归该代理的主组所有。

    • 如果jobRunAsUser属于该组,并且提交到工作器上运行的队列的作业可以访问工作器代理写入的文件。

  • 默认 AWS 区域应与工作人员所属农场的区域相匹配。有关更多信息,请参阅配置和凭据文件设置

    这应该适用于:

    • 代理用户

    • 工作人员上的所有队列jobRunAsUser账户

  • 代理用户可以sudo以. jobRunAsUser

下图说明了代理用户与队列关联的jobRunAsUser用户和群组之间的关系。

代理用户与队列中的用户之间关系的插图jobRunAsUser。

Windows 用户

要使用Windows用户作为jobRunAsUser,它必须满足以下要求:

  • 所有队列jobRunAsUser用户都必须存在。

  • 他们的密码必须与队列JobRunAsUser字段中指定的密钥值相匹配。有关说明,请参阅中的步骤 7 创建队列

  • 代理用户必须能够以这些用户的身份登录。