Cloud Composer 1 | Cloud Composer 2
本页面介绍了 Cloud Composer 版本控制,并列出了主要 Cloud Composer 版本之间的区别。
- Cloud Composer 有两个主要版本:Cloud Composer 1 和 Cloud Composer 2。
- Cloud Composer 环境基于受版本控制的 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
版本别名。