Cloud Composer 版本控制概览

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

Cloud Composer 的主要版本

Cloud Composer 有以下主要版本:

  • Cloud Composer 1。拥有手动环境伸缩、基础架构 已部署到您的项目和网络。
  • Cloud Composer 2。在此版本中,环境的集群可扩缩 以满足资源需求
  • Cloud Composer 3。此版本简化了网络设置, 包括环境的集群和环境对其他服务的依赖关系。

Cloud Composer 版本比较

下表列出了 Cloud Composer 1、Cloud Composer 2 和 Cloud Composer 3。

特征 Cloud Composer 1 Cloud Composer 2 Cloud Composer 3
映像版本 composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z composer-3-airflow-x.y.z-build.t
Airflow 版本 Airflow 1.10.* 和 Airflow 2 Airflow 2 Airflow 2
Python 版本 3.8.12 3.11.5 和 3.8.12(早期版本) 3.11.5
环境的集群 标准模式 VPC 原生或基于路由的 Google Kubernetes Engine 集群 Autopilot 模式 VPC 原生 Google Kubernetes Engine 集群 环境的集群未部署到您的项目中。
横向扩缩 可以调整环境集群中的节点数量。这会更改 Airflow 工作器的数量。
可以调整 Airflow 调度器的数量。
根据需求自动伸缩 Airflow 工作器数量。可以设置和更改工作器数量的上限和下限。
可以调整 Airflow 调度器和触发器的数量
根据需求自动伸缩 Airflow 工作器数量。可以设置和更改工作器数量的上限和下限。
可以调整 Airflow 调度器、触发器和 DAG 处理器的数量
纵向伸缩 可以在创建环境时为集群节点、Airflow Web 服务器和数据库设置机器类型。可以更改 Airflow Web 服务器和数据库的机器类型。 可以设置和更改工作负载配置:Airflow 工作器、调度器、Web 服务器和环境大小的 CPU、内存和存储参数。 可以设置和更改工作负载配置:Airflow 工作器、调度器、Web 服务器、DAG 处理器的 CPU、内存和存储参数,以及环境大小。
定价模式 Cloud Composer 1 价格模式 Cloud Composer 2 价格模式 Cloud Composer 3 价格模式
访问权限控制 Cloud Composer 1 角色 Cloud Composer 角色。使用 Workload Identity,并且需要 Cloud Composer Service Agent 账号的额外权限。 Cloud Composer 角色。使用 Workload Identity。不需要额外权限
通过员工身份联合进行访问 不支持 支持 支持
高弹性环境 不支持 支持 公开试用功能不可用
专用 IP 网络 VPC 对等互连 Private Service Connect 简化了网络设置。可在现有环境中在公共 IP 和专用 IP 之间切换。
VPC Service Controls 受支持 受支持 公开试用功能不可用
Airflow 执行器 Celery 执行程序 Celery 执行程序 CeleryKubernetes Executor
Airflow 触发器(可延期运算符) 不支持 支持 支持
CMEK 支持 支持 公开试用功能不可用
Web 服务器访问权限控制 支持 支持 支持
正在重启 Web 服务器 支持 支持 支持
Web 服务器插件 在已停用 DAG 序列化的 Airflow 1 环境中受支持。 受支持 受支持,可以按需停用和启用插件。
安装自定义插件 支持 支持 支持
维护操作 所有任务都会受到影响。 执行时间不到 55 分钟的任务不受影响。 执行时间不到 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 3 中,映像包含受支持 Airflow 的新版本 versions.你可以根据自己的需求 。您的环境会获得 Cloud Composer 改进 。

  • 在 Cloud Composer 2 和 Cloud Composer 1 中,映像包含 对 Cloud Composer 的 Airflow 版本。如需获取 Cloud Composer 方面的改进, 将您的环境升级到更高版本的 Cloud Composer。

版本弃用和支持

Composer 3

在首次使用某个 Airflow 版本后, 发布:

  • 如果 Airflow 的次要版本是 Cloud Composer 3 中提供的最新版本,则所有 完全支持这一次要版本支持的确切终止日期是 确定 Airflow 有新的次要版本 Cloud Composer 3.

  • 当 Cloud Composer 3 推出 Airflow 新的次要版本时, 使用上一个次要 Airflow 版本的所有 build 都支持 12 个月,自该日期起算。如果有多个 build 包含相同的次要 Airflow 版本,但它们的结尾相同 全面支持日期。

  • 当某个次要版本不再受到全面支持后,环境 运行此版本的功能也不受支持,并且完全由用户管理。您 仍可以将此类环境升级为完全 支持的 Airflow 版本。

您可以使用完全受支持的所有 Airflow build 创建环境。

您仍然可以使用不再存在的 Airflow build 的环境 支持。此环境仍然有效,您可以继续使用,并可以 仍然将其升级到完全受支持的版本。

Composer 2

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

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

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

  • 自发布日期起 12 个月以上:Cloud Composer 2 运行这些版本的环境不受支持。

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

Composer 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 3

在 Cloud Composer 3 中,新的 Airflow 版本和 build 以 时间流逝。

您的环境可以在所有先前的 Airflow 版本和 build 中运行, 并自动接收其基础设施组件的更新。每个 版本和 build 的支持情况,如 版本弃用和支持,并且 可以选择将 Airflow 版本升级到更高版本或 build。

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

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

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

Cloud Composer 版本架构

Composer 3

Cloud Composer 3 版本控制架构会捕获 Airflow 版本和 build:

composer-3-airflow-x.y.z-build.t

其中:

  • composer-3 是 Cloud Composer 的版本。
  • airflow-x.y.z.build.t 是 Airflow 的版本和 build。 同一 Airflow 版本中的每个下一个 Cloud Composer 版本都有一个 更高的 build 号。build 号由 而不是由 Airflow 开源项目使用。

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

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 会将版本别名解析为完整格式: 它会创建您的环境:

    • composer-3-airflow-x.y.z-build.t Cloud Composer 3.
    • composer-a.b.c-airflow-x.y.z Cloud Composer 2 和 Cloud Composer 1。
  • 在 Cloud Composer 3 中,使用版本别名,例如 composer-3-airflow-x.y 不会自动升级应用的 Airflow 版本和 build 环境环境始终在同一 Airflow build 上 直至您将其升级。环境仍会收到自动 基础架构的升级工作

  • 在 Cloud Composer 2 和 Cloud Composer 1 中,使用版本别名,例如 composer-a-airflow-x.y.z 不提供自动升级 环境环境保留在同一 Cloud Composer 上 直到升级为止

Cloud Composer 3 版本别名

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

别名 Airflow 版本
composer-3-airflow-2 Airflow 2 的最新版本和 build
composer-3-airflow-x.y x.y 主要版本和次要版本中的 Airflow 最新版本和 build
composer-3-airflow-x.y.z 指定 Airflow 版本的最新 build

Cloud Composer 2 版本别名

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 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 中的版本参数

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

Composer 3

  • --image-version 参数用于指定以下版本的 Airflow 版本和 build: composer-3-airflow-x.y.z-build.t 格式。您可以使用 版本别名,由 Google Cloud CLI 转换为完整格式。

  • --airflow-version 采用以下格式指定 Airflow 版本:

    • x.y.z 格式适用于指定版本的 Airflow。此格式等同于composer-3-airflow-x.y.z 版本别名。

    • x.y 格式适用于 x.y 个主要版本和次要版本。此格式相当于 composer-3-airflow-x.y 版本别名。

    • x.y.z-build.t 是 Airflow 的指定版本和 build。这个 格式等于 composer-3-airflow-x.y.z-build.t

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格式,然后创建 环境 和 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 最新版本 versions.此格式等同于composer-2-airflow-x.y 版本别名。

Composer 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格式,然后创建 环境 和 Airflow
  • --airflow-version 采用以下格式指定 Airflow 版本:

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

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

后续步骤