10.2.4. 在 MTC web 控制台中创建迁移计划
您可以在 Migration Toolkit for Containers(MTC)web 控制台中创建一个迁移计划。
先决条件
-
必须使用在所有集群中具有
cluster-admin
权限的用户登录。 - 您必须确保在所有集群中安装相同的 MTC 版本。
- 您必须在 MTC web 控制台中添加集群和复制存储库。
- 如果要使用 move 数据复制方法迁移持久性卷(PV),则源和目标集群必须有对远程卷的不间断网络访问权限。
-
如果要使用直接镜像迁移,源集群的
MigCluster
自定义资源清单必须指定内部镜像 registry 的公开路由。
流程
- 在 MTC web 控制台中点 Migration Plan。
- 点 Add migration plan。
输入 Plan 名称。
迁移计划名称不能超过 253 个小写字母数字字符(
a-z, 0-9
),且不能包含空格或下划线(_
)。- 选择 Source cluster、Target cluster 和 Repository,然后点 Next。
- 在 Namespaces 页面中,选择要迁移的项目并点 Next。
在 Persistent volumes 页面中,点每个 PV 的 迁移类型:
- Copy 选项将源集群的 PV 中的数据复制到复制存储库中,然后在目标集群中恢复新创建的具有类似特征的 PV 上的数据。
- Move 选项从源集群中卸载一个远程卷(例如 NFS),在目标集群上创建一个指向这个远程卷的 PV 资源,然后在目标集群中挂载远程卷。在目标集群中运行的应用程序使用源集群使用的同一远程卷。
- 点 Next。
在 Copy options 页面中,为每个 PV 选择 Copy method:
- 快照复制使用云供应商的快照功能备份和恢复数据。它比 Filesystem copy 要快得多。
Filesystem copy 备份源集群中的文件,并在目标集群中恢复它们。
直接卷迁移需要使用文件系统复制方法。
- 您可以选择 Verify copy 来验证使用 Filesystem copy 迁移的数据。数据是通过为每个源文件生成 checksum 并在恢复后检查 checksum 来验证。数据校验可能会显著降低性能。
选择 目标存储类。
如果选择了 Filesystem copy,您可以更改目标存储类。
- 点 Next。
在 Migration options 页面上,如果您为源集群指定了公开的镜像 registry 路由,则会选择 Direct 镜像迁移 选项。如果使用 Filesystem copy 迁移数据,Direct PV migration 选项会被选择。
直接迁移选项将镜像和文件直接从源集群复制到目标集群。这个选项比将源集群的镜像和文件复制到复制存储库,然后再从复制存储库复制到目标集群要快。
- 点 Next。
可选:在 Hooks 页中,点 Add Hook 为迁移计划添加 hook。
hook 运行自定义代码。您可以在单个迁移计划中最多添加四个 hook。每个 hook 在不同的迁移步骤中运行。
- 在 web 控制台中输入要显示的 hook 名称。
- 如果 hook 是一个 Ansible playbook,请选择 Ansible playbook,然后点 Browse 上传 playbook,或在字段中粘贴 playbook 的内容。
- 可选: 如果不使用默认 hook 镜像,请指定 Ansible 运行时镜像。
如果 hook 不是 Ansible playbook,选择 Custom container image 并指定镜像名称和路径。
自定义容器镜像可以包含 Ansible playbook。
- 选择 Source cluster 或 Target cluster。
- 输入 Service account name 和 Service account namespace。
为 hook 选择迁移步骤:
- preBackup:在应用程序工作负载在源集群中备份前
- PostBackup:在应用程序工作负载在源集群中备份后
- preRestore:在目标集群中恢复应用程序工作负载前
- postRestore:在目标集群中恢复应用程序工作负载后
- 点击 Add。
点 Finish。
迁移计划显示在 Migration Plan 列表中。