创建 runner 环境

本页介绍了创建将执行编排流水线的运行程序环境的流程。

关于 runner 环境

每个部署环境都必须有一个运行程序环境。Managed Airflow 是一种编排引擎,可在流水线部署后运行。运行器环境是指您已分配给部署环境的托管式 Airflow 环境

准备工作

  • 目前,Google Cloud 上 Orchestration Pipelines 的唯一可用运行程序是 Managed Service for Apache Airflow。您必须遵循所有 Managed Airflow 配额和系统限制。如需详细了解运行器环境的费用,请参阅 Managed Airflow 价格

  • Orchestration Pipelines 可以在 Managed Airflow(第 3 代)和(第 2 代)运行程序环境中运行。在托管式 Airflow(第 3 代)中,您可以同时使用 Airflow 3 和 Airflow 2。

  • 从以下版本开始,Orchestration Pipelines 软件包已预安装在 Managed Airflow 中:

    • composer-3-airflow-3.1.7-build.5
    • composer-3-airflow-2.11.1-build.1composer-3-airflow-2.10.5-build.34composer-3-airflow-2.9.3-build.54
    • composer-2.16.11-airflow-2.11.1composer-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 提供了更多网络和安全配置选项。如需详细了解设置 Runner 环境的不同方式,请参阅 Managed Airflow 文档中的创建环境

查看所需的 IAM 角色

如需获得在项目中创建 Runner 环境所需的权限,请让管理员向您授予以下角色:

  • Environment and Storage Object Administrator (composer.environmentAndStorageObjectAdmin) 和 Service Account User (iam.serviceAccountUser) 角色,以便在 Managed Service for Apache Airflow 中创建和管理环境,以及管理与这些环境关联的存储分区中的对象。如需详细了解这些用户角色,请参阅 Managed Service for Apache Airflow 文档中的向用户授予角色

启用 Cloud Composer API 和操作 API

  1. 启用 Cloud Composer API。如需查看由 Managed Airflow 使用的服务的完整列表,请参阅 Managed Airflow 所需的服务
  2. 为要使用的 Google Cloud 服务(例如 Dataproc API)启用 API。

为 Runner 环境创建新的服务账号并为其授予 IAM 角色

运行器环境的服务账号用于创建新的 Managed Service for Apache Airflow 环境,并运行您部署到该环境中的所有编排流水线。

请让管理员执行以下操作:

  1. 按照 Identity and Access Management 文档中的说明创建新的服务账号

  2. 向其授予 Composer Worker (composer.worker) 角色。在大多数情况下,此角色可提供所需的权限集。

    如需访问 Google Cloud 项目中的其他资源,请向此服务账号授予访问这些资源的额外权限。仅当此服务账号需要额外权限才能运行编排流水线时,才向其添加额外权限。

  3. 如果您想使用 Managed Airflow(第 2 代)环境,请按照向 Managed Airflow 服务账号授予所需权限中的说明授予额外权限。

  4. 授予流水线所需的权限。流水线中的所有编排任务都将由该运行器环境的服务账号运行,因此您必须手动向该服务账号授予所有必需的权限。

    例如,如果您的流水线使用的操作在 Managed Service for Apache Spark 临时集群上运行,则 runner 环境的服务账号必须拥有创建和删除 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-3composer-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

创建受管 Airflow 环境大约需要 25 分钟。

(可选)从 PyPI 安装 Orchestration Pipelines 软件包

Orchestration Pipelines 依赖于 orchestration-pipelines PyPI 软件包。默认情况下,您的 runner 环境已预安装此软件包。

如果您使用的是未预安装此软件包的旧版 Managed Airflow,或者想要安装其他版本的软件包,则可以从 PyPI 安装此软件包

示例:

gcloud composer environments update example-runner \
    --location us-central1 \
    --update-pypi-package "orchestration-pipelines>=0.11.1"

如需详细了解如何在 Runner 环境中安装 PyPI 软件包,以及如何在 Google Cloud 控制台和 Terraform 中执行此操作,请参阅 Managed Service for Apache Airflow 文档中的安装 Python 依赖项

后续步骤

  • 将 runner 环境添加到 [部署配置][op-deploy]。