Cloud Composer 版本控制概览

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

Cloud Composer 的主要版本

Cloud Composer 有三个主要版本:

  • Cloud Composer 1。支持手动环境伸缩,可将基础架构部署到您的项目和网络。
  • Cloud Composer 2。在此版本中,环境的集群会自动扩容以满足资源需求。

Cloud Composer 版本比较

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

特征 Cloud Composer 1 Cloud Composer 2
映像版本 composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z
Airflow 版本 Airflow 1.10.* 和 Airflow 2 Airflow 2
Python 版本 3.8.12 早期版本中的 3.11.5 和 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 1 角色 Cloud Composer 角色。使用 Workload Identity,并且需要 Cloud Composer 服务代理账号的其他权限。
通过员工身份联合进行访问 不支持 支持
高弹性环境 不支持 支持
专用 IP 网络 VPC 对等互连 Private Service Connect
VPC Service Controls 受支持 受支持
Airflow 执行器 Celery 执行程序 Celery 执行程序
Airflow 触发器(可延迟运算符) 不支持 支持
CMEK 支持 支持
Web 服务器访问权限控制 支持 支持
重启 Web 服务器 支持 支持
Web 服务器插件 适用于已停用 DAG 序列化的 Airflow 1 环境。 受支持
安装自定义插件 支持 支持
维护操作 所有任务都会受到影响。 执行时间不到 55 分钟的任务不受影响。
存储快照 Airflow 2.x 和 1.10.15 版本支持 受支持
正在加载快照 不支持 受支持
计划快照 不支持 受支持
自定义环境的存储桶 不支持 支持
仅在 Cloud Logging 中保存 Airflow 任务日志 不支持 支持
数据沿袭集成 不支持 支持

Cloud Composer 映像

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

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

Google 会定期发布新的 Cloud Composer 映像

  • 在 Cloud Composer 2 和 Cloud Composer 1 中,映像包含对 Cloud Composer 的改进以及受支持 Airflow 版本的新版本。如需改进 Cloud Composer,请将环境升级到更高版本的 Cloud Composer。

版本弃用和支持

Composer 2

Cloud Composer 2 版本在发布后的一段时间内,Google 会对其提供支持。在此期间,使用这些版本的 Cloud Composer 2 环境将获得全面支持。

Cloud Composer 2 版本支持的定义如下:

  • 自发布日期起 0-12 个月:运行这些版本的 Cloud Composer 2 环境完全受支持。

  • 自发布日期起 12 至 18 个月:运行这些版本的 Cloud Composer 2 环境不受支持,但会向客户通知安全问题。

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

在 Cloud Composer 版本不再受支持之后,您仍然可以使用这些版本。例如,如果您的环境基于超过支持期的 Cloud Composer 版本,那么该环境仍会正常运行,且您可以继续使用。在这种情况下,我们建议您将环境升级受支持的版本

Composer 1(作曲家 1)

新的 Cloud Composer 1 版本已于 2023 年 3 月底发布。 所有已发布的 Cloud Composer 1 版本都遵循与 Cloud Composer 2 相同的版本弃用政策,并由此获得支持。

Cloud Composer 1 已于 2024 年 3 月 25 日进入维护后模式。 Google 将不再发布 Cloud Composer 1 的任何进一步更新,包括新版本的 Airflow、bug 修复和安全更新。我们建议迁移到 Cloud Composer 2

Airflow 版本支持

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

Composer 2

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

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

    例如,Cloud Composer 2.4.0 支持 Airflow 2.4.* 和 Airflow 2.5.*。

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

    例如,对于 Airflow 2.4.*,Cloud Composer 支持 Airflow 2.4.3。

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

    例如,Cloud Composer 2.3.4 支持 Airflow 2.5.1 和 Airflow 2.5.3。

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

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

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

Composer 1(作曲家 1)

Cloud Composer 1 支持的最新版 Airflow 是 Airflow 2.4.3。

只有 Cloud Composer 1 支持 Airflow 1.10.15,这是 Airflow 1 的最新发布版本。

Cloud Composer 版本架构

Composer 2

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

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

其中:

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

Composer 1(作曲家 1)

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

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

其中:

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

版本别名

版本别名的运作方式如下:

  • Cloud Composer 会在创建您的环境时将版本别名解析为完整格式:
    • 在 Cloud Composer 2 和 Cloud Composer 1 中,所有版本别名都会变为 composer-a.b.c-airflow-x.y.z

  • 在 Cloud Composer 2 和 Cloud Composer 1 中,使用版本别名(例如 composer-a-airflow-x.y.z不会为环境提供自动升级。在您升级之前,环境会保持在同一 Cloud Composer 和 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 的指定版本 x.y 个主要版本和次要版本中提供最新版本的 Airflow。

以下版本别名指向 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 版本:

Composer 2

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

    • composer-a.b.c-airflow-x.y.z 格式会使用指定版本的 Cloud Composer 和 Airflow 创建环境。
    • 版本别名会先解析为 composer-a.b.c-airflow-x.y.z 格式,然后使用指定版本的 Cloud Composer 2 和 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 版本别名。

Composer 1(作曲家 1)

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

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

    • x.y.z 格式适用于最新版本的 Cloud Composer 1 和指定版本的 Airflow。此格式相当于 composer-1-airflow-x.y.z 版本别名。

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

后续步骤