本頁面說明 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.8 (舊版為 3.11.5 和 3.8.12) | 3.11.8 |
環境的叢集 | 標準模式的 VPC 原生或路由型 Google Kubernetes Engine 叢集 | Autopilot 模式的虛擬私有雲原生 Google Kubernetes Engine 叢集 | 環境叢集未部署至專案。 |
水平資源調度 | 可以調整環境叢集中的節點數量。這會變更 Airflow 工作站的數量。 可調整 Airflow 排程器數量。 |
根據需求自動調整 Airflow 工作站數量。可設定及變更工作站數量的上限和下限。 可調整 Airflow 排程器和觸發器的數量 |
根據需求自動調整 Airflow 工作站數量。可設定及變更工作站數量的上限和下限。 可調整 Airflow 排程器、觸發器和 DAG 處理器的數量 |
垂直縮放 | 建立環境時,可以設定叢集節點、Airflow 網路伺服器和資料庫的機器類型。可變更 Airflow 網路伺服器和資料庫的機器類型。 | 可設定及變更工作負載設定:Airflow 工作站、排程器、網路伺服器的 CPU、記憶體和儲存空間參數,以及環境大小。 | 可設定及變更 Airflow 工作站、排程器、網路伺服器、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 網路 | 虛擬私有雲對等互連 | Private Service Connect | 簡化網路設定程序。可在現有環境中變更為公開或私人 IP。 |
VPC Service Controls | 支援 | 支援 | 支援 |
Airflow 執行器 | Celery Executor | Celery Executor | CeleryKubernetes Executor |
Airflow 觸發器 (可延遲運算子) | 不支援 | 支援 | 支援 |
客戶管理的加密金鑰 | 支援 | 支援 | 支援 |
網路伺服器存取控管 | 支援 | 支援 | 支援 |
重新啟動網路伺服器 | 支援 | 支援 | 支援 |
網路伺服器外掛程式 | 在停用 DAG 序列化的 Airflow 1 環境中支援。 | 支援 | 支援的插件可視需求啟用及停用。 |
安裝自訂外掛程式 | 支援 | 支援 | 支援 |
維護作業 | 所有工作都可能受到影響。 | 執行時間少於 55 分鐘的任務不會受到影響。 | 執行時間少於 55 分鐘的任務不會受到影響。 |
儲存快照 | 支援 Airflow 2.x 和 1.10.15 版本 | 支援 | 支援 |
載入快照 | 不支援 | 支援 | 支援 |
排定快照 | 不支援 | 支援 | 支援 |
自訂環境的值區 | 不支援 | 支援 | 支援 |
只在 Cloud Logging 中儲存 Airflow 任務記錄檔 | 不支援 | 支援 | 支援 |
資料歷程整合 | 不支援 | 支援 | 支援 |
Composer 本機開發 CLI 工具 | 不支援 | 支援 | 支援 |
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 版本的新版本。您可以選取要使用的 Airflow 版本和版本。環境會自動獲得 Cloud Composer 改善項目。
在 Cloud Composer 2 和 Cloud Composer 1 中,映像檔包含 Cloud Composer 改善項目,以及支援的 Airflow 版本的新建構。如要取得 Cloud Composer 改善項目,請將環境升級至較新的 Cloud Composer 版本。
版本淘汰和支援
Composer 3
Google 會在 Airflow 初始版本發布後,支援該版本一段時間:
如果 Airflow 次要版本是 Cloud Composer 3 提供的最新版本,則所有使用此次要版本的 Airflow 版本都會受到完整支援。當 Cloud Composer 3 推出新的 Airflow 次要版本時,我們會決定確切的支援結束日期。
當 Cloud Composer 3 推出新的 Airflow 次要版本時,從該日期起,所有使用先前 Airflow 次要版本的版本都會獲得支援 12 個月。如果有多個版本包含相同的 Airflow 次版本,則所有版本都會顯示相同的完整支援結束日期。
次要版本不再受到完整支援後,執行該版本的環境也不會受到支援,並由使用者全權管理。您仍可升級此類環境,以便使用完全支援的 Airflow 版本。
您可以使用所有完全支援的 Airflow 版本建立環境。
您仍可使用含有不再支援的 Airflow 版本的環境。環境仍可正常運作,您可以繼續使用,也可以將環境升級至完全支援的版本。
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
我們會在 2023 年 3 月底前發布新的 Cloud Composer 1 版本。所有已發布的 Cloud Composer 1 版本都遵循與 Cloud Composer 2 相同的版本淘汰政策,並依據該政策提供支援。
2024 年 3 月 25 日,Cloud Composer 1 進入維護後模式。Google 不會再發布任何更新,包括 Airflow 新版本、錯誤修正和安全性更新。建議您改用 Cloud Composer 2。
Airflow 版本支援
Airflow 遵循語意軟體版本管理結構定義。每個 Airflow 版本都有主要、次要和修補版本。
Composer 3
在 Cloud Composer 3 中,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 次要版本提供兩個 Airflow 2 修補程式版本。舊版修補程式版本會在下一個版本中移除。
舉例來說,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 版本和版本組建:
composer-3-airflow-x.y.z-build.t
其中:
composer-3
是 Cloud Composer 的主要版本。airflow-x.y.z.build.t
是 Airflow 版本和版本編號。在 Cloud Composer 3 中,每個相同 Airflow 版本的後續版本都會採用較高的版本編號。版本號碼是由 Cloud Composer 定義,而非由 Airflow 開放原始碼專案定義。
Composer 2
Cloud Composer 2 映像檔版本管理結構定義涵蓋了 Cloud Composer 和 Airflow 版本:
composer-2.b.c-airflow-x.y.z
其中:
composer-2.b.c
代表 Cloud Composer 2 中 Cloud Composer 代管自訂項目的次要版本和修補程式版本。一般來說,Cloud Composer 的次要版本會對應到與先前次要版本相比的重大功能變更,例如可用的 Airflow 版本集合有所變更。修補版本會在後續版本中更新。airflow-x.y.z
是 Airflow 版本,代表在特定 Cloud Composer 映像檔中使用的 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
。 - 在 Cloud Composer 2 和 Cloud Composer 1 中,所有版本別名都會變成
composer-a.b.c-airflow-x.y.z
。
- 在 Cloud Composer 3 中,所有版本別名都會變成
在 Cloud Composer 3 中,使用版本別名 (例如
composer-3-airflow-x.y
) 不會自動升級環境的 Airflow 版本和建構。環境會維持相同的 Airflow 版本和版本,直到您升級為止。環境仍會照常收到自動基礎架構升級。在 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 的最新版本和版本組建 |
composer-3-airflow-x.y |
x.y 主要和次要版本中,Airflow 的最新版本和建構版本 |
composer-3-airflow-x.y.z |
指定 Airflow 版本的最新版本 |
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
引數會以composer-3-airflow-x.y.z-build.t
格式指定 Airflow 版本和建構作業。您可以使用版本別名,Google Cloud CLI 會將其解析為完整格式。--airflow-version
會以下列格式指定 Airflow 版本:x.y.z
格式適用於指定 Airflow 版本的最新版本。這個格式等同於composer-3-airflow-x.y.z
版本別別名。x.y
格式適用於x.y
主要和次要版本中可用的最新 Airflow 版本。這個格式等同於composer-3-airflow-x.y
版本別別名。x.y.z-build.t
是指定的 Airflow 版本和版本編號。這個格式等同於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,以及x.y
主要和次要版本中提供的最新版 Airflow。這個格式等同於composer-1-airflow-x.y
版本別別名。