本页面介绍了 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
版本别名。