本頁面說明 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 角色。使用 Workload Identity Federation for GKE,且需要 Cloud Composer 服務代理程式帳戶的其他權限。 | Cloud Composer 角色。使用 Workload Identity Federation for GKE。不需要額外權限 |
透過員工身分聯盟存取 | 不支援 | 支援 | 支援 |
高韌性環境 | 不支援 | 支援 | 尚未提供 |
資料庫保留政策 | 不支援 | 尚未提供 | 支援 |
私人 IP 網路 | 虛擬私有雲對等互連 | Private Service Connect | 簡化網路設定。現有環境中的公開和私人 IP 可互換。 |
VPC Service Controls | 支援 | 支援 | 支援 |
Airflow 執行器 | Celery Executor | Celery Executor | CeleryKubernetes 執行器 |
Airflow 觸發器 (可延遲運算子) | 不支援 | 支援 | 支援 |
KubernetesPodOperator 的自訂服務帳戶 | 支援 | 支援 | 不支援 |
客戶管理的加密金鑰 | 支援 | 支援 | 支援 |
網路伺服器存取控管 | 支援 | 支援 | 支援 |
重新啟動網路伺服器 | 支援 | 支援 | 支援 |
網路伺服器外掛程式 | 在停用 DAG 序列化的 Airflow 1 環境中支援。 | 支援 | 支援,外掛程式可視需要停用及啟用。 |
排程器外掛程式 | 不支援 | 支援 | 不支援 |
排程器自訂 PyPI 套件 | 不支援 | 支援 | 不支援 |
安裝自訂外掛程式 | 支援 | 支援 | 支援 |
維護作業 | 所有工作都可能受到影響。 | 執行時間少於 55 分鐘的作業不受影響。 | 執行時間少於 24 小時的作業不受影響。 |
儲存快照 | 支援 Airflow 2.x 和 1.10.15 版 | 支援 | 支援 |
載入快照 | 不支援 | 支援 | 支援 |
排定快照 | 不支援 | 支援 | 支援 |
自訂環境的值區 | 不支援 | 支援 | 支援 |
只將 Airflow 工作記錄檔儲存到 Cloud Logging | 不支援 | 支援 | 支援 |
資料歷程整合 | 不支援 | 支援 | 支援 |
Composer 本機開發 CLI 工具 | 不支援 | 支援 | 支援 |
Cloud Composer 映像檔
為了執行 Apache Airflow,Cloud Composer 會建構包含 Airflow 版本與其他常見二進位檔和 Python 程式庫組合的 Docker 映像檔。
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 建構版本發布後的一段時間內提供支援:
自發布日起 0 到 12 個月:執行此 Airflow 建構版本的 Cloud Composer 3 環境會受到支援。
自發布日起超過 12 個月:執行這些版本的 Cloud Composer 3 環境不會受到支援。
Airflow 建構版本停止支援後,執行該版本的環境也不會再受到支援,且完全由使用者管理。
環境會以以下方式搭配支援和不支援的 Airflow 建構版本運作:
您可以建立支援所有 Airflow 建構版本的環境。
您仍可使用不再支援的 Airflow 建構版本環境,環境仍可正常運作,您可以繼續使用,並升級至支援的 Airflow 建構版本。
在某些情況下,升級至較新版本的 Airflow 或建構版本,是解決安全漏洞的唯一方法。
Composer 2
Google 會在 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 相同的版本淘汰政策,並根據該政策提供支援。
Airflow 版本支援
Airflow 遵循語意軟體版本管理結構定義。每個 Airflow 版本都有主要、次要和修補程式版本。
Composer 3
在 Cloud Composer 3 中,隨著時間推移,系統會提供新的 Airflow 版本和建構版本。
您的環境可搭配所有先前的 Airflow 版本和建構版本運作,並自動接收基礎架構元件的更新。如「版本淘汰和支援」一文所述,每個版本和建構版本都受到支援,您可以選擇將 Airflow 版本升級至較新版本或建構版本。
Composer 2
如要查看各個 Cloud Composer 版本支援的 Airflow 版本清單,請參閱這篇文章。
在每個版本中,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 版本為 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
版本別名。