Cloud Foundry 到 Cloud Run 的遷移指南提供 Cloud Foundry 服務與 Cloud Run 服務差異的背景資訊,並說明如何遷移 Cloud Foundry 應用程式,在 Cloud Run 的容器中執行。這些遷移頁面不包含資料遷移作業。
符合遷移資格的 Cloud Foundry 應用程式
Cloud Run 專為執行無狀態 HTTP 或 HTTP/2 應用程式而設計。Cloud Foundry 應用程式必須符合下列條件,才能遷移:
- 使用 HTTP 或 HTTP/2 (包括 gRPC)。
- 根據
PORT
環境變數監聽流量。 - 不需要將不同路徑上的要求,分別導向不同應用程式。
- 不需要舊版 Cloud Foundry「路由服務」來代理流量。
- 不需要執行個體 ID 或特定啟動順序。
- 不需要可定址的個別執行個體。
- 可啟動,不會對環境造成副作用,例如啟動資料庫遷移作業。
瞭解 Cloud Foundry 和 Cloud Run 之間的差異
雖然 Cloud Foundry 和 Cloud Run 都有類似的來源部署體驗,但這兩個平台在處理工作負載容器化、應用程式設定和服務定義時,做法有顯著差異。下表列出 Cloud Foundry 和 Cloud Run 的差異:
應用程式元件 | Cloud Foundry | Cloud Run 容器映像檔部署 |
Cloud Run 透過原始碼部署 Dockerfile |
Cloud Run 原始碼部署 Buildpack |
---|---|---|---|---|
容器化 | CF Buildpacks v2 | 不適用 | Cloud Build | Cloud Build |
基本映像檔 |
cflinuxfs3 (Ubuntu 18.04) cflinuxfs4 (Ubuntu 22.04) |
自備容器映像檔 | 指定的 Dockerfile | Ubuntu 18.04 或 Ubuntu 22.04 |
服務定義 | manifest.yaml |
service.yaml |
||
忽略清單 | .cfignore |
.gcloudignore |
||
服務中繼資料 | VCAP_* 環境變數 |
Workload Identity、Cloud Secrets | ||
支援的容器格式 | 水珠 | Docker Image Manifest V2、Schema 1、Schema 2 和 OCI 格式 |
如何遷移
如要遷移 Cloud Foundry 應用程式,請按照下列步驟操作:
遷移範例
Spring Music 範例會使用 Cloud Foundry 的核心元件,將 Spring Music 重建成與 OCI 相容的映像檔,並部署至 Cloud Run。這個範例採用「隨即轉移」離線轉換匯入法規遵循策略。