本頁說明如何建立執行管道的 Runner 環境。
關於執行程式環境
每個部署環境都必須有執行器環境。 Managed Airflow 是自動化調度管理引擎,可在管道部署後執行管道。執行器環境是指您已指派給部署環境的Managed Airflow 環境。
事前準備
目前,Google Cloud 上 Orchestration Pipelines 唯一可用的執行器是 Managed Service for Apache Airflow。適用所有 Managed Airflow 配額和系統限制。如要進一步瞭解執行器環境的費用,請參閱「Managed Airflow 定價」。
Orchestration Pipelines 可在 Managed Airflow (第 3 代) 和 (第 2 代) 執行器環境中執行。在 Managed Airflow (第 3 代) 中,您可以同時使用 Airflow 3 和 Airflow 2。
從下列版本開始,Orchestration Pipelines 套件會預先安裝在 Managed Airflow 中:
composer-3-airflow-3.1.7-build.5composer-3-airflow-2.11.1-build.1、composer-3-airflow-2.10.5-build.34和composer-3-airflow-2.9.3-build.54composer-2.16.11-airflow-2.11.1、composer-2.16.11-airflow-2.10.5
如果您使用舊版 Managed Airflow,可以從 PyPI 手動安裝
orchestration-pipelines套件。建立 Managed Airflow 環境大約需要 25 分鐘。
您可以在Google Cloud 控制台、gcloud CLI 和 Terraform 中建立 Managed Airflow 環境。本指南僅示範 gcloud CLI 指令。如需其他方法的說明和範例,請參閱 Managed Airflow 說明文件中的「建立環境」。
本指南提供的預設設定會建立公開 IP 代管 Airflow 環境。Managed Airflow 提供更多網路和安全性設定選項。如要進一步瞭解設定執行器環境的不同方式,請參閱 Managed Airflow 說明文件中的「建立環境」。
查看必要的 IAM 角色
如要在專案中建立執行元件環境,請要求系統管理員授予下列角色:
- 環境與 Storage 物件管理員 (
composer.environmentAndStorageObjectAdmin) 和服務帳戶使用者 (iam.serviceAccountUser) 角色,以便在 Managed Service for Apache Airflow 中建立及管理環境,並管理與這些環境相關聯的 buckets 中的物件。如要進一步瞭解這些使用者角色,請參閱 Managed Service for Apache Airflow 說明文件的「授予使用者角色」一節。
啟用 Cloud Composer API 和動作 API
- 啟用 Cloud Composer API。如需 Managed Airflow 使用的完整服務清單,請參閱「Managed Airflow 服務需求」。
- 啟用要使用的 Google Cloud 服務的 API (例如 Dataproc API)。
為執行器環境建立新的服務帳戶,並授予 IAM 角色
執行器環境的服務帳戶用於建立新的 Managed Service for Apache Airflow 環境,並執行您部署至該環境的所有自動化調度管理管道。
請管理員執行下列操作:
按照 Identity and Access Management 說明文件中的說明,建立新的服務帳戶。
將 Composer Worker (
composer.worker) 角色授予該帳戶。在大多數情況下,這個角色會提供這組必要權限。如要存取 Google Cloud 專案中的其他資源,請將存取這些資源的額外權限授予這個服務帳戶。只有在協調流程管道運作時需要,才為這個服務帳戶新增額外權限。
如要使用 Managed Airflow (第 2 代) 環境,請按照「授予 Managed Airflow 服務帳戶必要權限」一文中的操作說明,授予額外權限。
授予管道所需的權限。管道中的所有協調工作都會由這個執行器環境的服務帳戶執行,因此您必須手動授予這個服務帳戶所有必要權限。
舉例來說,如果管道使用的動作是在 Managed Service for Apache Spark 暫時性叢集上執行,執行器環境的服務帳戶就必須具備建立及刪除 Managed Service for Apache Spark 叢集的權限,以及觸發及管理 Managed Service for Apache Spark 工作的權限。此外,您也必須啟用 Dataproc API。
建立 Managed Service for Apache Airflow 環境
建立 Managed Service for Apache Airflow 環境,並考量下列事項。
- 環境名稱:任何名稱。您稍後會使用這個名稱 [部署][op-deploy] 管道。範例:
example-runner。 - 映像檔版本:要使用的 Managed Service for Apache Airflow 和 Airflow 版本。在 gcloud CLI 中,您可以使用指向預設版本的別名,例如
composer-3-airflow-3或composer-2-airflow-2。 - 地點:不限。範例:
us-central1。 - 服務帳戶:您為這個環境建立的服務帳戶。
gcloud CLI 指令範例:
gcloud composer environments create example-runner \
--location us-central1 \
--image-version composer-3-airflow-3 \
--service-account "example-account@example-project.iam.gserviceaccount.com"
預覽版建議的工作負載設定範例 (您隨時可以調高或調低):
gcloud composer environments create example-runner \
--location us-central1 \
--image-version composer-3-airflow-3 \
--service-account "example-account@example-project.iam.gserviceaccount.com" \
--scheduler-cpu 2 \
--scheduler-memory 8GB \
--dag-processor-cpu 4 \
--dag-processor-memory 8GB \
--worker-cpu 4 \
--worker-memory 8GB
建立 Managed Airflow 環境大約需要 25 分鐘。
(選用) 從 PyPI 安裝 Orchestration Pipelines 套件
Orchestration Pipelines 依附於 orchestration-pipelines PyPI 套件。根據預設,執行器環境已預先安裝這個套件。
如果您使用的 Managed Airflow 版本較舊,未預先安裝這個套件,或想安裝其他版本的套件,可以從 PyPI 安裝這個套件。
範例:
gcloud composer environments update example-runner \
--location us-central1 \
--update-pypi-package "orchestration-pipelines>=0.11.1"
如要進一步瞭解如何在執行器環境中安裝 PyPI 套件,以及在 Google Cloud 控制台和 Terraform 中執行這項操作的範例,請參閱 Managed Service for Apache Airflow 說明文件中的「安裝 Python 依附元件」。
後續步驟
- 將執行器環境新增至 [部署設定][op-deploy]。