第 1 章 关于 Migration Toolkit for Containers(MTC)

MTC(Migration Toolkit for Containers)可让您按照命名空间将有状态应用程序工作负载在不同 OpenShift Container Platform 4 集群间进行迁移。

注意

您可以使用状态迁移,在同一集群或不同集群间迁移应用程序。

MTC 提供了一个基于 Kubernetes 自定义资源的 web 控制台和 API,可帮助您控制迁移并最小化应用程序停机时间。

MTC 控制台默认安装在目标集群中。您可以配置 MTC Operator,以便在远程集群中安装控制台。

有关以下主题的详情,请参阅高级迁移选项

  • 使用迁移 hook 和 MTC API 自动迁移。
  • 配置迁移计划以排除资源,支持大规模迁移,并为直接卷迁移启用自动 PV 大小调整。

1.1. 术语

表 1.1. MTC 术语

术语定义

源集群

从中迁移应用程序的集群。

目标集群[1]

将应用程序迁移到的集群。

复制软件仓库

用于在间接迁移过程中复制镜像、卷和 Kubernetes 对象的对象存储,或者用于直接卷迁移或直接镜像迁移期间 Kubernetes 对象的对象存储。

复制存储库必须可以被所有集群访问。

主机集群

运行 migration-controller pod 和 Web 控制台的集群。主机集群通常是目标集群,但这不是必需的。

主机集群不需要公开的 registry 路由来直接迁移镜像。

远程集群

远程集群通常是源集群,但这不是必需的。

远程集群需要一个包含 migration-controller 服务帐户令牌的 Secret 自定义资源。

远程集群需要一个公开的安全 registry 路由来直接迁移镜像。

间接迁移

镜像、卷和 Kubernetes 对象从源集群复制到复制存储库,然后从复制存储库复制到目标集群。

直接卷迁移

持久性卷直接从源集群复制到目标集群。

直接镜像迁移

镜像直接从源集群复制到目标集群。

阶段迁移

在不停止应用程序的情况下,数据将复制到目标集群。

多次运行阶段迁移会缩短迁移的持续时间。

剪切迁移

应用在源集群中停止,其资源迁移到目标集群。

状态迁移

通过将特定的持久性卷声明复制到目标集群来迁移应用程序状态。

回滚迁移

回滚迁移会回滚一个已完成的迁移。

1 在 MTC web 控制台中称为 目标集群