Cloud Composer 版本控制概览

Cloud Composer 1 | Cloud Composer 2

本页面介绍了 Cloud Composer 版本控制,并列出了主要 Cloud Composer 版本之间的区别。

Cloud Composer 的主要版本

Cloud Composer 有两个主要版本:

  • Cloud Composer 2。此版本具有自动扩缩环境。
  • Cloud Composer 1。此版本具有手动扩缩功能。

下表列出了 Cloud Composer 1 和 Cloud Composer 2 之间的主要区别。

Cloud Composer 1 Cloud Composer 2
Cloud Composer 映像版本 composer-1.x.x composer-2.x.x
Airflow 版本 Airflow 1.10.* 和 Airflow 2 Airflow 2
Python 版本 3.8.12 3.8.12
环境的集群 标准模式 VPC 原生或基于路由的 Google Kubernetes Engine 集群 Autopilot 模式 VPC 原生 Google Kubernetes Engine 集群
横向扩缩 可以调整环境集群中的节点数量。此操作会更改 Airflow 工作器的数量。
可以调整 Airflow 调度器的数量。
根据需求自动扩缩 Airflow 工作器数量。可以设置和更改工作器数量的上限和下限。
可以调整 Airflow 调度器的数量。
纵向扩缩 可以在创建环境时为集群节点、Airflow Web 服务器和数据库设置机器类型。可以更改 Airflow Web 服务器和数据库的机器类型。 可以设置和更改工作负载配置:Airflow 工作器、调度器、Web 服务器和数据库的 CPU、内存和存储参数。
价格模式 Cloud Composer 1 价格模式 Cloud Composer 2 价格模式
访问权限控制机制 Cloud Composer 角色 Cloud Composer 角色。使用 Workload Identity,并且需要 Cloud Composer Service Agent 帐号的额外权限
通过员工身份联合访问 不支持 支持
环境架构 Cloud Composer 1 环境架构 Cloud Composer 2 环境架构
专用 IP 网络 VPC 对等互连 VPC 对等互连Private Service Connect
Terraform 支持 可以创建和更新 Cloud Composer 1 环境。 可以创建和更新 Cloud Composer 2 环境。
CMEK 支持 支持
Web 服务器访问权限控制 支持 支持
重启 Web 服务器 支持 支持
Web 服务器插件 已停用 DAG 序列化的 Airflow 1 环境中受支持。 支持
安装自定义插件 支持 支持
维护操作 所有任务都会受到影响。 执行时间不超过 55 分钟的任务不会受到影响。
异步 DAG 加载 在 Airflow 1 中受支持 不支持
DAG 序列化 始终在 Airflow 2 中启用。可以在 Airflow 1 中停用 始终在 Airflow 2 中启用。
网络标记支持
具有 GPU 的集群节点
存储快照 支持 Airflow 2.x 和 1.10.15 版本 支持
加载快照 不支持 支持
计划快照 不支持 支持

Cloud Composer 映像

为了运行 Apache Airflow,Cloud Composer 会构建 Docker 映像,用于将 Airflow 版本与其他常用的二进制文件和 Python 库捆绑在一起。

Cloud Composer 映像包含专门针对 Cloud Composer,但不适用于上游 Airflow 代码库的 Airflow 修改。预安装的软件包以及专门针对 Cloud Composer 的 Airflow 更改统称为 Cloud Composer 版本。

Google 会定期发布新的 Cloud Composer 映像,其中包括新的 Airflow 版本和 Cloud Composer 改进。

Cloud Composer 1 版本支持

新的 Cloud Composer 1 版本将于 2023 年 3 月底发布。所有已发布的 Cloud Composer 1 版本都遵循版本弃用政策,并因此受到支持。

某些新的 Cloud Composer 功能可能仅在 Cloud Composer 2 中受支持。您可以在列出版本之间的主要差异的表中查看仅 Cloud Composer 2 支持的功能。

Cloud Composer 版本弃用和支持

Google 会在版本发布后的一段时间内支持 Cloud Composer 版本。在此期间,使用这些版本的 Cloud Composer 环境完全受支持。

关于 Cloud Composer 版本支持的具体规定如下所示:

  • 自发布日期起 0-12 个月:运行这些版本的 Cloud Composer 环境完全受支持。
  • 自发布日期起 12-18 个月:运行这些版本的 Cloud Composer 环境不受支持,并且客户只会收到有关安全问题的通知。

  • 自发布日期起 18 个月以上:运行这些版本的 Cloud Composer 环境不受支持,并且完全由用户管理。

Airflow 版本支持

Airflow 遵循语义软件版本控制架构。Airflow 的每个版本都有一个主要版本、次要版本和补丁程序版本。

如需查看每个 Cloud Composer 版本支持的 Airflow 版本列表,请参阅 Cloud Composer 版本列表

Airflow 2 版本支持

  • 在每个发布版本中,Cloud Composer 都支持 Airflow 2 的两个次要版本

    例如,Cloud Composer 1.17.0 支持 Airflow 2.0.* 和 Airflow 2.1.*。

  • 对于 Airflow 2 的每个次要版本,Cloud Composer 支持一个补丁程序版本

    例如,对于 Airflow 2.1.*,Cloud Composer 支持 Airflow 2.1.2。

  • 当 Cloud Composer 中提供新的 Airflow 2 补丁程序版本时,相应的版本会有两个 Airflow 2 补丁程序版本可用于 Airflow 的同一次要版本。然后,之前的补丁程序版本会在以后的某个版本中被移除。

    例如,Cloud Composer 1.17.4 同时支持 Airflow 2.1.2 和 Airflow 2.1.4。

  • Cloud Composer 可以在 Cloud Composer 各发布版本之间跳过一些 Airflow 补丁程序版本。此外,如果 Airflow 的特定补丁程序版本存在功能、质量或性能问题,Cloud Composer 也可以跳过此版本。

    例如,跳过了 Airflow 2.1.3,可以使用 Airflow 2.1.4。

  • 运行稳定版 Airflow 的 Cloud Composer 版本可以包含从更高的 Airflow 版本向后移植的 Airflow 更新。

Cloud Composer 版本架构

Cloud Composer 映像版本控制架构会捕获 Cloud Composer 和 Airflow 版本:

composer-a.b.c-airflow-x.y.z

其中

  • composer-a.b.c 是 Cloud Composer 管理的自定义设置的版本
  • airflow-x.y.z 是 Airflow 版本

版本别名

Cloud Composer 2 支持以下版本别名:

别名 Cloud Composer 版本 Airflow 版本
composer-2-airflow-2 最新版本的 Cloud Composer 2 Airflow 2 最新版本
composer-2-airflow-x.y 最新版本的 Cloud Composer 2 主要版本和次要版本中的 x.y 最新版本 Airflow
composer-2-airflow-x.y.z 最新版本的 Cloud Composer 2 指定的 Airflow 版本
composer-2.b.c-airflow-x.y 指定版本的 Cloud Composer 2 最新版本的 x.y 和 Airflow 主要版本和次要版本

Cloud Composer 1 支持以下版本别名:

别名 Cloud Composer 版本 Airflow 版本
composer-1-airflow-2 最新版本的 Cloud Composer 1 Airflow 2 最新版本
composer-1-airflow-1 最新版本的 Cloud Composer 1 Airflow 1 的最新版本
composer-1-airflow-x.y 最新版本的 Cloud Composer 1 主要版本和次要版本中的 x.y 最新版本 Airflow
composer-1-airflow-x.y.z 最新版本的 Cloud Composer 1 指定的 Airflow 版本
composer-1.b.c-airflow-x.y 指定版本的 Cloud Composer 1 最新版本的 Airflow 在 x.y 个主要版本和次要版本中提供。

以下版本别名指向 Cloud Composer 2。您仍然可以使用它们,但可以考虑改用 Cloud Composer 版本的别名。

  • composer-latest-airflow-x.y 等于 composer-2-airflow-x.y
  • composer-latest-airflow-x.y.z 等于 composer-2-airflow-x.y.z

Google Cloud CLI 中的版本参数

使用 Google Cloud CLI 创建升级 Cloud Composer 环境时,您可以指定 Cloud Composer 和 Airflow 版本:

  • --image-version 参数用于指定 Cloud Composer 和 Airflow 版本:

    • composer-a.b.c-airflow-x.y.z 格式会使用指定的 Cloud Composer 和 Airflow 版本创建环境。
    • 版本别名首先解析为 composer-a.b.c-airflow-x.y.z 格式,然后使用指定的 Cloud Composer 和 Airflow 版本创建环境。
  • --airflow-version 以两种格式指定 Airflow 版本:

    • x.y.z 格式适用于最新版本的 Cloud Composer 2 和特定版本的 Airflow。此格式等同于 composer-2-airflow-x.y.z 版本别名。

    • x.y 格式适用于最新版本的 Cloud Composer 2,以及 x.y 主要版本和次要版本中提供的最新版 Airflow。此格式等同于 composer-2-airflow-x.y 版本别名。

后续步骤