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 Buildpack 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
支持的容器格式 Droplet 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。此示例遵循直接原样迁移 OCI 合规性策略。

后续步骤

选择容器化策略