本页面介绍了 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 角色。使用适用于 GKE 的工作负载身份联合,并且需要 Cloud Composer Service Agent 账号的额外权限。 | Cloud Composer 角色。使用适用于 GKE 的工作负载身份联合。不需要额外权限 |
通过员工身份联合进行访问 | 不支持 | 支持 | 支持 |
高弹性环境 | 不支持 | 支持 | 公开试用功能不可用 |
专用 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 的新版本 版本。你可以根据自己的需求 。您的环境会自动获得 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 和 Airflow 版本。
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 中的版本参数
使用 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 最新版本 版本。此格式等同于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
格式,然后使用指定版本的 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 和 最新版本的 Airflowx.y
个主要版本和次要版本。此格式等同于composer-1-airflow-x.y
版本别名。