评估和迁移 Cloud Foundry

本文档介绍如何对现有 Cloud Foundry (CF) Foundation 执行评估,以及如何将 CF Foundation、组织、空间或应用迁移到 Kf。

迁移拟合评估

使用 kf migrate scan-cf-cluster 命令生成包含 CF Foundation 迁移就绪性评估的报告。您可以将报告的格式设置为电子表格(推荐)或文本文件。

前提条件

  • Kf CLI。如需了解安装说明,请参阅安装 Kf CLI
  • cf CLI 安装为 cf
  • cf CLI 必须位于相应路径上。
  • 必须使用 CF Foundation 的管理员只读权限或更高级别的权限对 cf CLI 进行身份验证。

执行评估

  1. 验证要对其执行评估的 Foundation。

    cf curl /v2/info
  2. 运行该命令可生成包含评估报告的电子表格。

    kf migrate scan-cf-cluster report.xlsx
  3. 查看评估。

    如果您打算共享评估,则可以隐去不想共享的任何信息。

迁移

执行以下步骤来从 CF 迁移实体:

  1. 创建迁移计划以描述迁移过程。

  2. 修改迁移计划以自定义迁移。

  3. 应用迁移计划以执行迁移。

下面几个部分将详细介绍这些步骤。

迁移范围

执行迁移时,您所做的第一个决策便是确定迁移范围。该范围决定了您要迁移的 CF 实体以及执行迁移所需的权限:

  • 整个 Foundation 或组织:您必须拥有 CF Foundation 的管理员只读权限或更高级别的权限。

  • 单个空间或应用:您必须拥有空间开发者权限或更高级别的权限。

前提条件

如需执行迁移,您需要:

  • 创建迁移计划:Kf CLI。如需了解安装说明,请参阅安装 Kf CLI
  • 应用迁移计划:运行 Kf 的 GKE 集群。如需了解安装说明,请参阅安装 Kf
  • 拥有对已安装 Cloud Foundry 的集群的访问权限。
  • 以 CF Foundation 为目标的 CF CLI。
  • 所需迁移范围必须具备的 CF Foundation 权限,如上所示。

创建迁移计划

使用 kf migrate plan 命令创建迁移计划。

默认情况下,该命令会将迁移计划写入标准输出。您通常会将输出重定向到 yaml 文件,以便在应用计划之前对其进行自定义。例如,以下命令会将输出写入标准输出:

kf migrate plan

将输出重定向到 yaml 文件:

kf migrate plan > plan.yaml

运行 kf migrate plan 命令时,您应该会在命令窗口中看到以下形式的输出,其中列出了该命令执行的步骤以及任何警告或迁移问题:

kf migrate plan > plan.yaml

    Checking CF CLI is available
    Checking CF CLI is authenticated
    ...

    WARNING: plan has issues
    Issues with domain "apps.internal" in space "kf-team-acceptance":
        E04 - internal domains are not supported

    Issues with application "spring-music" in space "kf-team-app":
        E14 - app manifest must have a single process

    Issues with service instance "logspinner-1" in space "kf-team-app":
        E10 - syslog drain configuration is not supported
    ...

生成迁移计划

  1. 确保您已使用 CF CLI 登录 CF Foundation。

  2. 根据所需的迁移范围执行迁移,其中:

    • MY_ORG 指定组织的名称。
    • MY_SPACE 指定空间的名称。
    • MY_APP 指定应用的名称。
    1. 为整个 CF Foundation 生成迁移计划。

      kf migrate plan > plan.yaml
    2. 为组织生成迁移计划。

      kf migrate plan --cf-org MY_ORG > plan.yaml
    3. 为空间生成迁移计划

      kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE > plan.yaml
    4. 为应用生成迁移计划。

      kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE --cf-app MY_APP > plan.yaml

如果您在运行上述任一命令后看到以下错误:

You are not authorized to perform the requested action CF-NotAuthorized 10003

则表示您没有读取必要的 CAPI 端点所需的权限。

修改迁移计划

查看并视需要修改生成的迁移计划以解决出现的任何错误。

应用迁移计划

使用 kf migrate apply 命令应用迁移计划并迁移 CF 实体:

  1. 确保您已设置 .kubeconfig 以定位 Kf 集群。

  2. 确保您有权访问运行完整 Kf 安装的 GKE 集群。这意味着您已运行以下命令连接到集群:

    gcloud container clusters get-credentials CLUSTER_NAME \
       --project=CLUSTER_PROJECT_ID \
       --zone=CLUSTER_LOCATION
  3. 确保 Kf 集群上没有将与迁移计划中引用的空间发生冲突的现有空间名称。

    空间名称的格式为 cf-org-cf-space。例如,如果组织名称为 myorg,空间名称为 myspace,则 Kf 空间将为 myorg-myspace

  4. 应用迁移计划。

    kf migrate apply -v --plan plan.yaml

    建议使用详细标志 -v,但不强制要求。此标志会使该命令输出用于执行迁移的 Kf 命令。