This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.4. 使用 CAM web 控制台迁移应用程序
您可以通过在 CAM web 控制台中添加集群和复制存储库来迁移应用程序工作负载。然后,您可以创建并运行迁移计划。
如果集群或复制存储库有自签名证书保护,您可以创建 CA 证书捆绑包文件或禁用 SSL 验证。
3.4.1. 创建 CA 证书捆绑包文件
					如果您使用自签名证书来保护集群或复制存储库的安全,则证书验证可能会失败,出错信息如下:Certificate signed by unknown authority。
				
您可以创建自定义 CA 证书捆绑包文件,并在添加集群或复制存储库时将其上传到 CAM web 控制台。
流程
从远程端点下载 CA 证书,并将其保存为 CA 捆绑包文件:
echo -n | openssl s_client -connect <host_FQDN>:<port> \ | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > <ca_bundle.cert>
$ echo -n | openssl s_client -connect <host_FQDN>:<port> \ 
  | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > <ca_bundle.cert> 3.4.2. 把集群添加到 CAM web 控制台中
您可以将源集群添加到 CAM web 控制台。
先决条件
如果要使用 Azure 快照复制数据:
- 在添加源集群时,您必须提供 Azure 资源组名称。
- 源和目标集群必须位于同一 Azure 资源组且位于同一位置。
流程
- 登录到集群。
- 获取服务帐户令牌: - oc sa get-token migration-controller -n openshift-migration - $ oc sa get-token migration-controller -n openshift-migration eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtaWciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoibWlnLXRva2VuLWs4dDJyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Im1pZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YjFiYWMwLWMxYmYtMTFlOS05Y2NiLTAyOWRmODYwYjMwOCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDptaWc6bWlnIn0.xqeeAINK7UXpdRqAtOj70qhBJPeMwmgLomV9iFxr5RoqUgKchZRG2J2rkqmPm6vr7K-cm7ibD1IBpdQJCcVDuoHYsFgV4mp9vgOfn9osSDp2TGikwNz4Az95e81xnjVUmzh-NjDsEpw71DH92iHV_xt2sTwtzftS49LpPW2LjrV0evtNBP_t_RfskdArt5VSv25eORl7zScqfe1CiMkcVbf2UqACQjo3LbkpfN26HAioO2oH0ECPiRzT0Xyh-KwFutJLS9Xgghyw-LD9kPKcE_xbbJ9Y4Rqajh7WdPYuB0Jd9DPVrslmzK-F6cgHHYoZEv0SvLQi-PO0rpDrcjOEQQ- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 登录到 CAM web 控制台。
- 在 Clusters 部分,点 Add cluster。
- 填写以下字段: - 
									Cluster name:可包括小写字母(a-z)和数字(0-9)。不能包含空格或国际字符。
- 
									URL:集群 API 服务器的 URL,如 https://<master1.example.com>:8443。
- Service account token:从源集群获取的字符串。
- Azure cluster:可选。如果要使用 Azure 快照复制数据,请选择此项。
- Azure resource group:如果选中了 Azure cluster,则会出现此字段。
- 如果您使用自定义 CA 捆绑包,请点击 Browse 并浏览到所需的 CA 捆绑包文件。
 
- 
									Cluster name:可包括小写字母(
- 点 Add cluster。 - 集群会出现在 Clusters 部分。 
3.4.3. 在 CAM web 控制台中添加复制程序库
您可以将对象存储桶作为复制存储库添加到 CAM web 控制台。
先决条件
- 您必须配置用于迁移数据的对象存储桶。
流程
- 登录到 CAM web 控制台。
- 在 Replication repositories 部分,点 Add repository。
- 选择 Storage provider type 并填写以下字段: - AWS 适用于 S3、MCSG 和通用 S3 供应商: - Replication repository name:指定 CAM web 控制台中的复制存储库。
- S3 bucket name:指定您创建的 S3 存储桶的名称。
- S3 bucket region:指定 S3 存储桶区域。AWS S3 必填。Optional 用于其他 S3 供应商。
- 
											S3 端点:指定 S3 服务的 URL,而不是存储桶,例如:https://<s3-storage.apps.cluster.com>。通用 S3 供应商必填。您必须使用https://前缀。
- 
											S3 provider access key:为 AWS 指定 <AWS_SECRET_ACCESS_KEY>,或者为 MCG 指定 S3 供应商访问密钥。
- 
											S3 provider secret access key:为 AWS 指定 <AWS_ACCESS_KEY_ID>,或者为 MCG 指定 S3 供应商 secret 访问密钥。
- Require SSL verification:如果您使用的是通用 S3 供应商,则清除此复选框。
- 如果您使用自定义 CA 捆绑包,请点击 Browse 并浏览到所需的 Base64 编码的 CA 捆绑包文件。
 
- GCP: - Replication repository name:指定 CAM web 控制台中的复制存储库。
- GCP bucket name:指定 GCP 存储桶的名称。
- 
											GCP credential JSON blob:在 credentials-velero文件中指定字符串。
 
- Azure: - Replication repository name:指定 CAM web 控制台中的复制存储库。
- Azure resource group:指定 Azure Blob 存储的资源组。
- Azure storage account name:指定 Azure Blob 存储帐户名称
- 
											Azure credentials - INI file contents:在 credentials-velero文件中指定字符串。
 
 
- 点 Add repository 并等待连接验证。
- 点 Close。 - 新存储库会出现在 Replication repositories 部分。 
3.4.4. 为大型迁移修改迁移计划限制
您可以更改大型迁移的迁移计划限制。
您需要首先在自己的环境对所做的更改进行测试,以避免迁移失败。
单个迁移计划有以下默认限制:
- 10 个命名空间 - 如果超过这个限制,CAM web 控制台会显示一个 Namespace limit exceeded 错误,您将无法创建迁移计划。 
- 100 个 Pod - 如果超过 Pod 限制,CAM web 控制台会显示类似以下示例的警告信息: Plan has been validated with warning condition(s).查看警告信息。pod limit: 100 exceeded, found: 104。 
- 100 个持久性卷(PV) - 如果超过持久性卷限制,则 CAM web 控制台会显示类似的警告信息。 
流程
- 编辑迁移控制器 CR: - oc get migrationcontroller -n openshift-migration oc edit migrationcontroller -n openshift-migration - $ oc get migrationcontroller -n openshift-migration NAME AGE migration-controller 5d19h $ oc edit migrationcontroller -n openshift-migration- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 更新以下参数: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
3.4.5. 在 CAM web 控制台中创建迁移计划
您可以在 CAM web 控制台中创建迁移计划。
先决条件
- CAM web 控制台必须包含以下内容: - 源集群
- 目标集群,它会在 CAM 工具安装过程中自动添加
- 复制软件仓库
 
- 源和目标集群必须可以通过网络相互访问,并可以访问复制存储库。
- 如果要使用快照复制数据,则源和目标集群必须在同一云供应商(AWS、GCP 或 Azure)以及同一区域中。
流程
- 登录到 CAM web 控制台。
- 在 Plans 部分,点 Add Plan。
- 输入 Plan name 并点 Next。 - Plan name 最多可包含 253 个小写字母数字字符( - a-z,0-9)。它不能包含空格或下划线(- _)。
- 选一个 Source cluster。
- 选一个 Target cluster。
- 选一个 Replication repository。
- 选择要迁移的项目并点 Next。
- 选择 Copy 或 Move PV: - Copy 将源集群的 PV 中的数据复制到复制存储库中,然后在目标集群中新创建的具有类似特征的 PV 上恢复它。 - 可选: 您可以通过选择 Verify copy来使用文件系统的方法来验证复制的数据。这个选项为每个源文件生成 checksum 并在恢复后对其进行检查。这可能会大大降低性能。 
- Move 从源集群中卸载一个远程卷(例如 NFS),在目标集群上创建一个指向这个远程卷的 PV 资源,然后在目标集群中挂载远程卷。在目标集群中运行的应用程序使用源集群使用的同一远程卷。远程卷必须可以被源集群和目标集群访问。
 
- 点 Next。
- 为 PV 选择 Copy method: - Snapshot 使用云供应商的快照功能备份和恢复磁盘。它比 Filesystem 快得多。 注意- 存储和集群必须位于同一区域,存储类必须兼容。 
- Filesystem 将源磁盘中的数据文件复制到新创建的目标磁盘。
 
- 为 PV 选择一个 Storage class。 - 如果选择了 Filesystem 复制方法,您可以在迁移过程中更改存储类,例如:从 Red Hat Gluster Storage 或 NFS 存储改为 Red Hat Ceph Storage。 
- 点 Next。
- 如果您要添加迁移 hook,请点击 Add Hook 并执行以下步骤: - 指定存储桶的名称。
- 选择 Ansible playbook 来使用您自己的 playbook 或 Custom container image 来使用以其他语言编写的 hook。
- 点击 Browse 上传 playbook。
- 可选: 如果您未使用默认 Ansible 运行时镜像,请指定自定义 Ansible 镜像。
- 指定要运行 hook 的集群。
- 获取服务帐户名称。
- 指定命名空间。
- 选择您希望 hook 运行的迁移步骤: - PreBackup: 在源集群上启动备份前的任务
- PostBackup: 在源集群中完成备份任务后
- PreRestore: 在目标集群上启动恢复前的任务
- PostRestore: 在目标集群中完成恢复后的任务
 
 
- 点 Add。 - 您可以在迁移计划中添加最多四个 hook,将每个 hook 分配给不同的迁移步骤。 
- 点 Finish。
- 点 Close。 - 迁移计划会出现在 Plans 部分。 
3.4.6. 在 CAM web 控制台中运行迁移计划
您可以使用在 CAM web 控制台中创建的迁移计划来 stage 或迁移应用程序和数据。
先决条件
CAM web 控制台必须包含以下内容:
- 源集群
- 目标集群,它会在 CAM 工具安装过程中自动添加
- 复制软件仓库
- 有效的迁移计划
流程
- 登录目标集群上的 CAM web 控制台。
- 选择迁移计划。
- 点 Stage 以在不停止应用程序的情况下,将数据从源集群复制到目标集群。 - 您可以多次运行 Stage 以减少实际迁移时间。 
- 当准备好迁移应用程序工作负载时,点 Migrate。 - Migrate 在源集群中停止应用程序工作负载,并在目标集群中重新创建其资源。 
- 另外,还可以在 Migrate 窗口中选择 Do not stop applications on the source cluster during migration。
- 点 Migrate。
- 
							可选: 要停止迁移过,请点击 Options 菜单 
							 并选择 Cancel。 并选择 Cancel。
- 迁移完成后,在 OpenShift Container Platform web 控制台中确认已成功迁移了应用程序: - 
									点 Home Projects。 
- 点迁移的项目查看其状态。
- 在 Routes 部分,点击 Location 验证应用程序是否正常运行。
- 
									点 Workloads Pods 来验证 pod 是否在迁移的命名空间中运行。 
- 
									点 Storage Persistent volumes 确认正确置备了被迁移的持久性卷。 
 
- 
									点 Home