11.5. 在 MTC web 控制台中创建迁移计划
您可以在 Migration Toolkit for Containers(MTC)web 控制台中创建一个迁移计划。
先决条件
-
必须使用在所有集群中具有
cluster-admin
权限的用户登录。 - 您必须确保在所有集群中安装相同的 MTC 版本。
- 您必须在 MTC web 控制台中添加集群和复制存储库。
- 如果要使用 move 数据复制方法迁移持久性卷(PV),则源和目标集群必须有对远程卷的不间断网络访问权限。
-
如果要使用直接镜像迁移,您必须指定源集群的镜像 registry 公开的路由。这可以通过使用 MTC web 控制台或更新
MigCluster
自定义资源清单来实现。
流程
- 在 MTC web 控制台中点 Migration Plan。
- 点 Add migration plan。
输入 Plan 名称。
迁移计划名称不能超过 253 个小写字母数字字符(
a-z, 0-9
),且不能包含空格或下划线(_
)。- 选择 Source cluster、Target cluster 和 Repository。
- 点 Next。
- 选择要迁移的项目。
可选:点击项目旁边的编辑图标来更改目标命名空间。
警告Migration Toolkit for Containers 1.8.6 及更新版本不支持对单一命名空间的多迁移计划。
- 点 Next。
为每个 PV 选择一个 迁移类型:
- Copy 选项将源集群的 PV 中的数据复制到复制存储库中,然后在目标集群中恢复新创建的具有类似特征的 PV 上的数据。
- Move 选项从源集群中卸载一个远程卷(例如 NFS),在目标集群上创建一个指向这个远程卷的 PV 资源,然后在目标集群中挂载远程卷。在目标集群中运行的应用程序使用源集群使用的同一远程卷。
- 点 Next。
为每个 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。
可选:点 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 列表中。
11.5.1. 使用 YAML 清单创建迁移计划 复制链接链接已复制到粘贴板!
您可以使用 YAML 创建迁移计划。但是,建议在 MTC web 控制台中创建迁移计划。
流程
-
要迁移
mig-vm
命名空间,请确保迁移计划的namespaces
字段包括mig-vm
。 通过在命名空间中添加
mig-vm
来修改迁移计划的内容。迁移计划 YAML 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
分阶段迁移计划跳过任何正在运行的虚拟机,且不会同步数据。所有已停止的虚拟机磁盘都会被同步。