1.2. MTC 工作流

您可以使用 MTC web 控制台或 Kubernetes API 将 Kubernetes 资源、持久性卷数据和内部容器镜像迁移到 OpenShift Container Platform 4.8。

MTC 迁移以下资源:

  • 在迁移计划中指定的命名空间。
  • 命名空间范围的资源:当 MTC 迁移命名空间时,它会迁移与该命名空间关联的所有对象和资源,如服务或 Pod。另外,如果一个资源在命名空间中存在但不在集群级别,这个资源依赖于集群级别存在的另外一个资源,MTC 会迁移这两个资源。

    例如,安全性上下文约束(SCC)是一个存在于集群级别的资源,服务帐户(SA)是存在于命名空间级别的资源。如果 MTC 迁移的命名空间中存在 SA,MTC 会自动找到链接到 SA 的所有 SCC,并迁移这些 SCC。同样,MTC 会迁移链接到命名空间持久性卷的持久性卷声明。

    注意

    根据资源,可能需要手动迁移集群范围的资源。

  • 自定义资源 (CR) 和自定义资源定义 (CRD):MTC 在命名空间级别自动迁移 CR 和 CRD。

使用 MTC Web 控制台迁移应用程序涉及以下步骤:

  1. 在所有集群中安装 MTC Operator。

    您可以在有限的或没有互联网访问的受限环境中为 Containers Operator 安装 Migration Toolkit。源和目标集群必须可以在相互间进行访问,而需要可以访问 registry 的镜像(mirror).

  2. 配置复制存储库,这是 MTC 用来迁移数据的中间对象存储。

    源和目标集群必须有对复制仓库的不受限制的网络访问权限。在受限环境中,您可以使用 Multi-Cloud Object Gateway (MCG)。如果使用代理服务器,您必须将其配置为允许复制仓库和集群间的网络流量。

  3. 在 MTC web 控制台中添加源集群。
  4. 在 MTC web 控制台中添加复制存储库。
  5. 创建迁移计划,包含以下数据迁移选项之一:

    • Copy:MTC 将数据从源集群复制到复制存储库,再从复制存储库把数据复制到目标集群。

      注意

      如果您使用直接镜像迁移或直接卷迁移,则镜像或卷会直接从源集群复制到目标集群。

      迁移 PV 复制
    • Move:MTC 从源集群中卸载一个远程卷(例如 NFS),在目标集群上创建一个指向这个远程卷的 PV 资源,然后在目标集群中挂载远程卷。在目标集群中运行的应用程序使用源集群使用的同一远程卷。远程卷必须可以被源集群和目标集群访问。

      注意

      虽然复制仓库没有出现在此图表中,但迁移需要它。

      迁移 PV 移动
  6. 运行迁移计划,使用以下选项之一:

    • Stage (可选)在不停止应用程序的情况下将数据复制到目标集群。

      Stage 可以多次运行,以便在迁移前将大多数数据复制到目标。这可最小化迁移时间和应用程序的停机时间。

    • Migrate 在源集群中停止应用程序,并在目标集群中重新创建其资源。您可以选择在不停止应用程序的情况下迁移工作负载。
OCP 3 到 4 的应用程序迁移