本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
工作主机设置和配置
工作主机是指运行 Deadline Cloud 工作程序的主机。本节介绍如何设置工作主机并根据您的特定需求对其进行配置。每台工作器主机都运行一个名为工作器代理的程序。工作人员代理负责:
-
管理工作人员的生命周期。
-
同步分配的工作、其进度和结果。
-
监控正在运行的工作。
-
将日志转发到已配置的目的地。
我们建议您使用提供的 Deadline Cloud 工作者代理。worker 代理是开源的,我们鼓励您提出功能请求,但您也可以根据自己的需求进行开发和定制。
要完成以下各节中的任务,您需要具备以下条件:
创建和配置 Python 虚拟环境
你可以在上创建 Python 虚拟环境 Linux 如果你已经安装了 Python 3.9 或更高版本并将其放到你的PATH
。
注意
On Windows,代理文件必须安装到 Python 的全局站点包目录中。目前不支持 Python 虚拟环境。
创建和激活 Python 虚拟环境
-
打开 AWS CLI.
-
创建并激活 Python 虚拟环境。
python3 -m venv /opt/deadline/worker
source /opt/deadline/worker/bin/activate
pip install --upgrade pip
安装 Deadline Cloud
在你设置 Python 并在上创建虚拟环境之后 Linux,安装 Deadline Cloud 工作器代理 Python 包。
安装工作器代理 Python 软件包
-
打开终端。
-
On Linux,以
root
用户身份打开终端(或使用sudo
/su
) -
On Windows,打开管理员命令提示符或 PowerShell终端。
-
-
从 PyPI 下载并安装 Deadline Cloud 工作器代理包:
python -m pip install deadline-cloud-worker-agent
配置 Deadline 云端工作器代理
您可以通过三种方式配置 Deadline Cloud 工作器代理设置。我们建议您使用使用该install-deadline-worker
工具设置的操作系统。
工作器代理不支持在 Windows 上以域用户身份运行。要以域用户身份运行作业,可以在为运行作业配置队列用户时指定域用户帐户。有关更多信息,请参阅中的步骤 7 创建队列。
命令行参数-从命令行运行 Deadline Cloud 工作器代理时,可以指定参数。某些配置设置无法通过命令行参数获得。要查看所有可用的命令行参数,deadline-worker-agent --help
请输入查看所有可用的命令行参数。
环境变量 — 您可以通过设置以开头的环境变量来配置 Deadline Cloud 工作器代理DEADLINE_WORKER_
。例如,您可以使用export
DEADLINE_WORKER_VERBOSE=true
将工作器代理的输出设置为详细。有关更多示例和信息,请参/etc/amazon/deadline/worker.toml.example
阅 Linux 或者C:\ProgramData\Amazon\Deadline\Config\worker.toml.example
开启 Windows.
配置文件-安装工作器代理时,它会创建一个位于/etc/amazon/deadline/worker.toml
上的配置文件 Linux 或者C:\ProgramData\Amazon\Deadline\Config\worker.toml
开启 Windows。 工作器代理在启动时加载此配置文件。您可以使用示例配置文件(/etc/amazon/deadline/worker.toml.example
在 Linux 或者C:\ProgramData\Amazon\Deadline\Config\worker.toml.example
开启 Windows),根据您的特定需求定制默认工作器代理配置文件。
最后,我们建议您在部署软件并按预期运行后为工作器代理启用 auto shutdown。这允许工作人员队列在需要时扩大规模,并在渲染作业完成时关闭。自动缩放有助于确保您仅在需要时使用资源。要使由 auto Scaling 组启动的实例能够关闭,您必须将其shutdown_on_stop=true
添加到worker.toml
配置文件中。
启用自动关机
作为root
用户:
-
安装带有参数的工作器代理
--allow-shutdown
。
创建作业用户和群组
本节介绍代理用户与队列中jobRunAsUser
定义的用户之间所需的用户和组关系。
Deadline Cloud 工作服务器代理应在主机上以代理专用用户身份运行。您应配置 Deadline Cloud 队列的jobRunAsUser
属性,以便工作人员以特定的操作系统用户和组的身份运行队列作业。这意味着您可以控制作业拥有的共享文件系统权限。它还提供了作业和工作代理用户之间的重要安全边界。
Linux 工作用户和群组
要设置代理用户和jobRunAsUser
,请确保满足以下要求:
-
每个组都有一个组
jobRunAsUser
,它是其对应的主组jobRunAsUser
。 -
代理用户属于工作人员获得
jobRunAsUser
工作的队列的主组。为了获得最佳安全实践,我们建议将其作为代理用户的次要群组。此共享组允许工作器代理在作业运行时为其提供文件。 -
A
jobRunAsUser
不属于代理用户的主组。有关安全最佳实践,请执行以下操作:-
工作器代理写入的敏感文件归代理的主组所有。
-
如果
jobRunAsUser
属于该组,并且提交到工作器上运行的队列的作业可以访问工作器代理写入的文件。
-
-
默认 AWS 区域应与工作人员所属农场的区域相匹配。有关更多信息,请参阅配置和凭据文件设置。
这应该适用于:
-
代理用户
-
工作人员上的所有队列
jobRunAsUser
账户
-
-
代理用户可以以. 的身份运行
sudo
命令。jobRunAsUser
下图说明了代理用户与队列关联的jobRunAsUser
用户和群组之间的关系。
Windows 用户
要使用 Windows 作为用户jobRunAsUser
,它必须满足以下要求:
-
所有队列
jobRunAsUser
用户都必须存在。 -
他们的密码必须与队列
JobRunAsUser
字段中指定的密钥值相匹配。有关说明,请参阅中的步骤 7 创建队列。 -
代理用户必须能够以这些用户的身份登录。