本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
工作者主機設定和組態
工作者主機是指執行截止日期雲端工作者的主機機器。本節說明如何設定工作者主機,並根據您的特定需求進行設定。每個工作者主機都會執行稱為工作者代理程式的程式。工作者代理程式負責:
-
管理工作者生命週期。
-
同步指派的工作、其進度和結果。
-
監控執行中的工作。
-
將日誌轉送至設定的目的地。
我們建議您使用提供的截止日期雲端工作者代理程式。工作者代理程式是開放原始碼,我們鼓勵功能請求,但您也可以開發和自訂 以符合您的需求。
若要完成以下章節中的任務,您需要下列項目:
建立和設定 Python 虛擬環境
您可以在 上建立 Python 虛擬環境 Linux 如果您已安裝 Python 3.9 或更新版本,並將其放在您的 中。 PATH
注意
開啟 Windows,代理程式檔案必須安裝在 Python 的全域網站套件目錄中。目前不支援 Python 虛擬環境。
建立和啟用 Python 虛擬環境
-
開啟 AWS CLI。
-
建立和啟用 Python 虛擬環境。
python3 -m venv /opt/deadline/worker
source /opt/deadline/worker/bin/activate
pip install --upgrade pip
安裝截止日期 雲端工作者代理程式
在您設定 Python 並在 上建立虛擬環境之後 Linux,安裝截止日期雲端工作者代理程式 Python 套件。
安裝工作者代理程式 Python 套件
-
開啟終端機。
-
開啟 Linux,以
root
使用者身分開啟終端機 (或使用sudo
/su
) -
開啟 Windows,開啟管理員命令提示字元或 PowerShell 終端機。
-
-
從 PyPI 下載並安裝截止日期雲端工作者代理程式套件:
python -m pip install deadline-cloud-worker-agent
設定截止日期雲端工作者代理程式
您可以透過三種方式設定截止日期雲端工作者代理程式設定。建議您使用 install-deadline-worker
工具設定的作業系統。
工作者代理程式不支援在 Windows 上以網域使用者身分執行 。若要以網域使用者身分執行任務,您可以在設定執行任務的佇列使用者時指定網域使用者帳戶。如需詳細資訊,請參閱 中的步驟 7建立佇列。
命令列引數 — 當您從命令列執行截止日期雲端工作者代理程式時,可以指定引數。有些組態設定無法透過命令列引數使用。若要查看所有可用的命令列引數,請輸入 deadline-worker-agent --help
查看所有可用的命令列引數。
環境變數 — 您可以透過設定以 開頭的環境變數來設定截止日期雲端工作者代理程式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) 可根據您的特定需求量身打造預設的工作者代理程式組態檔案。
最後,我們建議您在部署軟體並如預期運作之後,為工作者代理程式啟用自動關閉。這可讓工作者機群在需要時擴展,並在轉譯任務完成時關閉。自動擴展有助於確保您僅在需要時使用資源。若要讓自動擴展群組啟動的執行個體關閉,您必須將 shutdown_on_stop=true
新增至worker.toml
組態檔案。
啟用自動關閉
身為 root
使用者:
-
使用參數 安裝工作者代理程式
--allow-shutdown
。
建立任務使用者和群組
本節說明客服人員使用者與佇列上jobRunAsUser
定義的 之間所需的使用者和群組關係。
截止日期 雲端工作者代理程式應在主機上以專用代理程式特定的使用者身分執行。您應該設定截止日期雲端佇列的 jobRunAsUser
屬性,以便工作者以特定的作業系統使用者和群組執行佇列任務。這表示您可以控制任務擁有的共用檔案系統許可。它也為您的任務和工作者代理程式使用者之間提供重要的安全界限。
Linux 任務使用者和群組
若要設定您的代理程式使用者 和 jobRunAsUser
,請確定您符合下列要求:
-
每個 都有一個 群組
jobRunAsUser
,而它是其對應 的主要群組jobRunAsUser
。 -
代理程式使用者屬於工作者取得工作的
jobRunAsUser
佇列的 主群組。針對安全最佳實務,我們建議將此做為代理程式使用者的次要群組。此共用群組可讓工作者代理程式在執行任務時提供檔案。 -
jobRunAsUser
不屬於客服人員使用者的主要群組。針對安全最佳實務:-
工作者代理程式編寫的敏感檔案由代理程式的主要群組擁有。
-
如果
jobRunAsUser
屬於此群組,則工作者代理程式寫入的 檔案,可以由提交至工作者上執行之佇列的任務存取。
-
-
預設 AWS 區域應與工作者所屬的陣列區域相符。如需詳細資訊,請參閱組態和登入資料檔案設定。
這應該套用到:
-
代理程式使用者
-
工作者上的所有佇列
jobRunAsUser
帳戶
-
-
代理程式使用者可以執行
sudo
命令做為jobRunAsUser
。
下圖說明代理程式使用者與與機群相關聯佇列jobRunAsUser
的使用者和群組之間的關係。
Windows 使用者
使用 Windows 使用者做為 jobRunAsUser
,必須符合下列要求:
-
所有佇列
jobRunAsUser
使用者都必須存在。 -
他們的密碼必須符合佇列
JobRunAsUser
欄位中指定的秘密值。如需說明,請參閱 中的步驟 7建立佇列。 -
代理程式使用者必須能夠以這些使用者身分登入。