搜索

1.6. 使用 CAM web 控制台迁移应用程序

download PDF

1.6.1. 启动 CAM web 控制台

您可以在浏览器中启动 CAM web 控制台。

流程

  1. 登录到已安装 CAM 工具的 OpenShift Container Platform 集群。
  2. 运行以下命令来获取 CAM web 控制台 URL:

    $ oc get -n openshift-migration route/migration -o go-template='https://{{ .spec.host }}'
    https://migration-openshift-migration.apps.<cluster>.openshift.com
  3. 启动浏览器并进入 CAM web 控制台。

    注意

    如果在安装 CAM Operator 后尝试立即访问 CAM web 控制台,则该控制台可能无法加载,因为 Operator 仍然在配置集群并正在启用跨原始资源共享。等待几分钟后重试。

  4. 如果您使用自签名的 CA 证书,则会提示您接受源集群 API 服务器的 CA 证书。网页会引导您接受剩余证书的过程。
  5. 使用 OpenShift Container Platform 的用户名密码进行登陆。

1.6.2. 把集群添加到 CAM web 控制台中

您可以将源集群添加到 CAM web 控制台。

先决条件

  • 必须在源集群中配置跨原始资源共享。
  • 如果要使用 Azure 快照复制数据:

    • 在添加源集群时,您必须提供 Azure 资源组名称。
    • 源和目标集群必须位于同一 Azure 资源组且位于同一位置。

流程

  1. 登录到源集群。
  2. 获取服务帐户令牌:

    $ oc sa get-token mig -n openshift-migration
    eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtaWciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoibWlnLXRva2VuLWs4dDJyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Im1pZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YjFiYWMwLWMxYmYtMTFlOS05Y2NiLTAyOWRmODYwYjMwOCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDptaWc6bWlnIn0.xqeeAINK7UXpdRqAtOj70qhBJPeMwmgLomV9iFxr5RoqUgKchZRG2J2rkqmPm6vr7K-cm7ibD1IBpdQJCcVDuoHYsFgV4mp9vgOfn9osSDp2TGikwNz4Az95e81xnjVUmzh-NjDsEpw71DH92iHV_xt2sTwtzftS49LpPW2LjrV0evtNBP_t_RfskdArt5VSv25eORl7zScqfe1CiMkcVbf2UqACQjo3LbkpfN26HAioO2oH0ECPiRzT0Xyh-KwFutJLS9Xgghyw-LD9kPKcE_xbbJ9Y4Rqajh7WdPYuB0Jd9DPVrslmzK-F6cgHHYoZEv0SvLQi-PO0rpDrcjOEQQ
  3. 登录到 CAM web 控制台。
  4. Clusters 部分,点 Add cluster
  5. 填写以下字段:

    • 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,则会出现此字段。
  6. Add cluster

    集群会出现在 Clusters 部分。

1.6.3. 在 CAM web 控制台中添加复制程序库

您可以将对象存储桶作为复制存储库添加到 CAM web 控制台。

先决条件

  • 您必须配置用于迁移数据的对象存储桶。

流程

  1. 登录到 CAM web 控制台。
  2. Replication repositories 部分,点 Add repository
  3. 选择 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 供应商,则清除此复选框。
    • 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 文件中指定字符串。
  4. Add repository 并等待连接验证。
  5. Close

    新存储库会出现在 Replication repositories 部分。

1.6.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 控制台会显示类似的警告信息。

流程

  1. 编辑迁移控制器 CR:

    $ oc get migrationcontroller -n openshift-migration
    NAME AGE
    migration-controller 5d19h
    
    $ oc edit migrationcontroller -n openshift-migration
  2. 更新以下参数:

    [...]
    migration_controller: true
    
    # This configuration is loaded into mig-controller, and should be set on the
    # cluster where `migration_controller: true`
    mig_pv_limit: 100
    mig_pod_limit: 100
    mig_namespace_limit: 10
    [...]

1.6.5. 在 CAM web 控制台中创建迁移计划

您可以在 CAM web 控制台中创建迁移计划。

先决条件

  • CAM web 控制台必须包含以下内容:

    • 源集群
    • 目标集群,它会在 CAM 工具安装过程中自动添加
    • 复制软件仓库
  • 如果要使用快照复制数据,则源和目标集群必须在同一云供应商(AWS、GCP 或 Azure)以及同一区域运行。

流程

  1. 登录到 CAM web 控制台。
  2. Plans 部分,点 Add Plan
  3. 输入 Plan name 并点 Next

    Plan name 最多可包含 253 个小写字母数字字符(a-z,0-9)。它不能包含空格或下划线(_)。

  4. 选一个 Source cluster
  5. 选一个 Target cluster
  6. 选一个 Replication repository
  7. 选择要迁移的项目并点 Next
  8. 选择 CopyMove PV:

    • Copy 将源集群的 PV 中的数据复制到复制存储库中,然后在目标集群中新创建的具有类似特征的 PV 上恢复它。
    • Move 从源集群中卸载一个远程卷(例如 NFS),在目标集群上创建一个指向这个远程卷的 PV 资源,然后在目标集群中挂载远程卷。在目标集群中运行的应用程序使用源集群使用的同一远程卷。远程卷必须可以被源集群和目标集群访问。
  9. Next
  10. 为 PV 选择 Copy method

    • Snapshot 使用云供应商的快照功能备份和恢复磁盘。它比 Filesystem 快得多。

      注意

      存储和集群必须位于同一区域,存储类必须兼容。

    • Filesystem 将源磁盘中的数据文件复制到新创建的目标磁盘。
  11. 为 PV 选择一个 Storage class

    如果选择了 Filesystem 复制方法,您可以在迁移过程中更改存储类,例如:从 Red Hat Gluster Storage 或 NFS 存储改为 Red Hat Ceph Storage。

  12. Finish
  13. Close

    迁移计划会出现在 Plans 部分。

1.6.6. 在 CAM web 控制台中运行迁移计划

您可以使用在 CAM web 控制台中创建的迁移计划来 stage 或迁移应用程序和数据。

先决条件

CAM web 控制台必须包含以下内容:

  • 源集群
  • 目标集群,它会在 CAM 工具安装过程中自动添加
  • 复制软件仓库
  • 有效的迁移计划

流程

  1. 登录到 OpenShift Container Platform 4 集群上的 CAM web 控制台。
  2. 选择迁移计划。
  3. Stage 以在不停止应用程序的情况下,将数据从源集群复制到目标集群。

    您可以多次运行 Stage 以减少实际迁移时间。

  4. 当准备好迁移应用程序工作负载时,点 Migrate

    Migrate 在源集群中停止应用程序工作负载,并在目标集群中重新创建其资源。

  5. 另外,还可以在 Migrate 窗口中选择 Do not stop applications on the source cluster during migration
  6. Migrate
  7. 迁移完成后,在 OpenShift Container Platform 4.2 web 控制台中确认已成功迁移了应用程序:

    1. Home Projects
    2. 点迁移的项目查看其状态。
    3. Routes 部分,点击 Location 验证应用程序是否正常运行。
    4. Workloads Pods 来验证 Pod 在迁移的命名空间中运行。
    5. Storage Persistent volumes 确认正确置备了被迁移的持久性卷。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.