Cloud Composer 特性

Cloud Composer 1 | Cloud Composer 2

本页面简要介绍了 Cloud Composer 的特性和功能。

Cloud Composer 是一项代管式 Apache Airflow 服务,可帮助您创建、安排、监控和管理工作流。

Airflow 环境

Cloud Composer 环境是 Apache Airflow 的封装容器。 Cloud Composer 会为每个环境创建以下组件

  • GKE 集群:Airflow 调度器、工作器和 Redis Queue 作为 GKE 工作负载在单个集群上运行,并负责处理和执行 DAG。集群还托管 Composer 代理和 Airflow 监控等其他 Cloud Composer 组件,帮助管理 Cloud Composer 环境、收集存储在 Cloud Logging 中的日志以及收集上传到 Cloud Monitoring 的指标。
  • Web 服务器:Web 服务器运行 Apache Airflow 网页界面,该界面受 Identity-Aware Proxy 保护。如需了解详情,请参阅 Airflow 网页界面
  • 数据库:数据库存储 Apache Airflow 元数据。
  • Cloud Storage 存储桶:Cloud Composer 会将 Cloud Storage 存储桶与环境相关联。关联的存储桶会存储相应环境的 DAG日志、自定义插件和数据。如需详细了解 Cloud Composer 存储桶,请参阅存储在 Cloud Storage 中的数据

Airflow 管理

您可以使用以下 Airflow 原生工具来访问和管理 Airflow 环境:

  • 网页界面:您可以通过 Google Cloud Console 或具有相应权限的直接网址访问 Airflow 网页界面。 如需了解相关信息,请参阅 Airflow 网页界面
  • 命令行工具:安装 Cloud SDK 后,您可以运行 gcloud composer environments 命令来向 Cloud Composer 环境发出 Airflow 命令行命令。如需了解相关信息,请参阅 [Airflow 命令行界面][cc-access-airflow-cli]。

除了原生工具之外,您还可以使用 Cloud Composer REST 和 RPC API 以编程方式访问您的 Airflow 环境。如需了解详情,请参阅 API 和结算

Airflow 配置

一般而言,Cloud Composer 为 Apache Airflow 提供的配置与本地托管的 Airflow 部署配置相同。部分 Airflow 配置已在 Cloud Composer 中预先配置,您无法更改这些配置属性。对于其他配置,您可以在创建或更新环境时加以指定。如需了解详情,请参阅已屏蔽的 Airflow 配置

Airflow DAG(工作流)

Apache Airflow DAG 是一种工作流,其中包含一系列任务以及其他任务依赖项。 Cloud Composer 使用 Cloud Storage 来存储 DAG。要在 Cloud Composer 环境中添加或移除 DAG,请在与环境关联的环境中的存储桶中添加或移除 DAG。在您将 DAG 移动到存储桶后,系统会自动在您的环境中添加和安排 DAG。

除了安排 DAG 以外,您还可以手动或通过事件(例如关联 Cloud Storage 存储桶中发生的更改)触发 DAG。如需了解详情,请参阅触发 DAG

插件

您可以在 Cloud Composer 环境中安装自定义插件,例如自定义的内部 Apache Airflow 操作器、钩子、传感器或接口。如需了解详情,请参阅安装自定义插件

Python 依赖项

您可以从环境中的 Python Package Index 或从私有软件包代码库安装 Python 依赖项。如需了解详情,请参阅安装 Python 依赖项

如果依赖项未包含在软件包索引中,您还可以使用插件功能。

访问权限控制机制

您可以管理 Google Cloud 项目级层安全性,还可以分配 Identity and Access Management (IAM) 角色来阻止个别用户修改或创建环境。如果某人无权访问您的项目,或者不具备适当的 Cloud Composer IAM 角色,那么他/她无法访问您的任何环境。如需了解详情,请参阅访问权限控制

日志记录和监控

您可以通过 Airflow 网页界面查看与个别 DAG 任务关联的 Airflow 日志,也可以在环境的 Cloud Storage 存储桶中查看 logs 文件夹。

Cloud Composer 可提供流式日志。如需了解详情,请参阅监控 Cloud Composer 环境

Cloud Composer 还可为您的 Google Cloud 项目提供审核日志,例如管理员活动审核日志。如需了解相关信息,请参阅查看审核日志

网络和安全

默认情况下,Cloud Composer 会部署一个标准模式 VPC 原生 Google Kubernetes Engine 集群。

为了提高安全性和网络灵活性,Cloud Composer 还支持以下功能。

共享 VPC

共享 VPC 可让您通过中央宿主项目管理共享网络资源,从而对各项目强制执行统一的网络政策。

当 Cloud Composer 参与共享 VPC 时,Cloud Composer 环境位于服务项目中,并可调用托管在其他 Google Cloud 项目中的服务。服务项目中的资源使用内部 IP 地址跨项目边界安全地进行通信。如需了解网络和宿主项目的要求,请参阅配置共享 VPC

VPC 原生 Cloud Composer 环境

使用 VPC 原生功能时,GKE 集群中的 pod 和服务 IP 地址可在 Google Cloud 网络中进行原生路由,包括通过 VPC 网络对等互连

在此配置中,Cloud Composer 会在您的环境中部署使用别名 IP 地址的 VPC 原生 GKE 集群。当您使用 VPC 原生集群时,GKE 会自动选择次要范围。如有特定的网络要求,您还可以在配置 Cloud Composer 环境期间为 GKE pod 和 GKE 服务配置次要范围

专用 IP Cloud Composer 环境

使用专用 IP 时,Cloud Composer 工作流会与公共互联网完全隔离开来。

在此配置中,Cloud Composer 会在客户项目中部署使用别名 IP 地址的 VPC 原生 GKE 集群。您的环境的 GKE 集群会配置为专用集群,并且 Cloud SQL 实例会配置专用 IP

Cloud Composer 还会在客户项目的 VPC 网络和租户项目的 VPC 网络之间建立对等互连连接。

最新资讯