從 Cloud Foundry 遷移至 Cloud Run 的總體情況

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 應用程式,請按照下列步驟操作:

  1. 選擇建構符合 OCI 規範容器的策略
  2. 遷移至符合 OCI 規範的容器
  3. 轉換資訊清單
  4. 附加後端服務
  5. 將服務部署至 Cloud Run

遷移範例

Spring Music 範例會使用 Cloud Foundry 的核心元件,將 Spring Music 重建成與 OCI 相容的映像檔,並部署至 Cloud Run。這個範例採用「隨即轉移」離線轉換匯入法規遵循策略。

後續步驟

選擇容器化策略