本页面介绍了 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 执行器 |
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 版本的新 build。您可以选择要使用的 Airflow 版本和 build。您的环境会自动获得 Cloud Composer 改进。
在 Cloud Composer 2 和 Cloud Composer 1 中,映像包含 Cloud Composer 改进以及受支持 Airflow 版本的新 build。如需获取 Cloud Composer 改进,您需要将环境升级到更高版本的 Cloud Composer。
版本弃用和支持
Composer 3
在首次使用某个 Airflow 版本后, 发布:
如果 Airflow 的次要版本是 Cloud Composer 3 中提供的最新版本,则所有 完全支持这一次要版本确切的支持结束日期将在 Cloud Composer 3 中提供新的 Airflow 次要版本时确定。
当 Cloud Composer 3 推出 Airflow 新的次要版本时, 使用上一个次要 Airflow 版本的所有 build 都支持 12 个月,自该日期起计算。如果有多个 build 包含相同的 Airflow 次要版本,则所有这些 build 都具有相同的完整支持结束日期。
当某个次要版本不再受到全面支持后,环境 运行此版本的功能也不受支持,并且完全由用户管理。您 仍可以将此类环境升级为 支持的 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 相同的版本弃用政策,并且受支持
2024 年 3 月 25 日,Cloud Composer 1 进入了维护后模式。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 会将版本别名解析为完整格式: 它会创建您的环境:
- 在 Cloud Composer 3 中,所有版本别名都将变为
composer-3-airflow-x.y.z-build.t
。 - 在
composer-a.b.c-airflow-x.y.z
Cloud Composer 2 和 Cloud Composer 1。
- 在 Cloud Composer 3 中,所有版本别名都将变为
在 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 中的版本参数
创建或升级时 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 版本的最新 build。此格式等同于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
格式,然后使用指定版本的 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
--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
版本别名。