迁移单体式虚拟机 - 发现和评估

您必须先确认工作负载是否适合迁移,然后才能使用 Migrate to Containers 来迁移虚拟机工作负载。您将学习如何使用发现工具快速评估合适的解决方案。此外,您还将创建一个处理集群,以便将 Migrate to Containers 安装到该集群,从而为迁移阶段做好准备。

目标

在本教程结束时,您将了解如何执行以下操作:

  • 使用 Linux 发现工具评估要迁移的工作负载。
  • 创建特定于迁移环境的处理集群。
  • 安装 Migrate to Containers。

准备工作

本教程是对概览和设置教程的后续教程。在开始本教程之前,请按照该页面上的说明设置您的项目并部署 Bank of Anthos。

使用发现工具

在本部分中,您将学习如何使用迁移 CLI 工具收集有关候选单体式虚拟机的信息,还可以判断该虚拟机是否适合使用 Migrate to Containers 进行迁移。

  1. 仍在使用 Cloud Shell,在虚拟机中创建 SSH 会话。如果系统要求您输入密码,请按 Enter 键将其留空。

    gcloud compute ssh ledgermonolith-service --tunnel-through-iap --project=PROJECT_ID
    
  2. 为 Linux 发现工具客机收集脚本和分析工具创建一个目录。

    mkdir m2c && cd m2c
    
  3. 将最新的迁移中心发现客户端 CLI 版本存储在环境变量中。

    MCDC_VERSION=$(curl -s https://mcdc-release.storage.googleapis.com/latest)
    

  4. 将客机收集脚本下载到虚拟机并使其可执行。

    curl -O "https://mcdc-release.storage.googleapis.com/${MCDC_VERSION}/mcdc-linux-collect.sh"
    chmod +x mcdc-linux-collect.sh
    
  5. mcdc CLI 下载到虚拟机并使其可执行。

    curl -O "https://mcdc-release.storage.googleapis.com/${MCDC_VERSION}/mcdc"
    chmod +x mcdc
    
  6. 在虚拟机上运行客机收集脚本。

    sudo ./mcdc-linux-collect.sh
    

    客机收集脚本将生成一个名为 mcdc-collect-ledgermonolith-service-TIMESTAMP.tar 的 TAR 归档,并将其保存到当前目录中。时间戳的格式为 YYYY-MM-DD-hh-mm

  7. 运行分析工具以导入归档、评估虚拟机并生成报告。

    ./mcdc report sample mcdc-collect-ledgermonolith-service-TIMESTAMP.tar --format json > ledgermonolith-mcdc-report.json
    

    该命令会在当前目录中保存一个包含名为 ledgermonolith-mcdc-report.json 的离线评估报告的 JSON 文件。

  8. 退出 SSH 会话。

    exit
    
  9. 如需查看迁移发现工具的输出,请先将生成的报告从虚拟机复制到 Cloud Shell 环境。

    gcloud compute scp --tunnel-through-iap \
      ledgermonolith-service:~/m2c/ledgermonolith-mcdc-report.json ${HOME}/
    
  10. 将分析报告下载到本地机器。

    cloudshell download ${HOME}/ledgermonolith-mcdc-report.json
    
  11. 打开 Google Cloud 控制台中的 Migrate to Containers 页面。

    打开 Migrate to Containers 页面

  12. 点击打开拟合评估报告,然后点击浏览并选择刚刚下载到本地机器的 JSON 报告。

  13. 点击打开。控制台将处理报告并以可读格式生成结果。请注意,您的虚拟机已出现在已评估虚拟机列表中。

  14. 点击报告名称以打开报告详细信息。

    虚拟机的拟合结果应显示非常适合。

创建处理集群

在以下步骤中,您将创建一个用作处理集群的 GKE 集群。您将在该集群中安装 Migrate to Containers 并执行迁移。此处,您将有意不使用其上运行 Bank of Anthos 的集群,以避免中断其服务。迁移成功完成后,您便可以安全地删除此处理集群。

  1. 创建一个新的 Kubernetes 集群以用作处理集群。

    gcloud container clusters create migration-processing \
      --project=PROJECT_ID --zone=COMPUTE_ZONE --machine-type e2-standard-4 \
      --image-type cos_containerd --num-nodes 1 \
      --subnetwork default --scopes "https://www.googleapis.com/auth/cloud-platform" \
      --addons HorizontalPodAutoscaling,HttpLoadBalancing
    
  2. 打开 Google Cloud 控制台中的 Migrate to Containers 页面。

    前往 Migrate to Containers 页面

  3. 处理集群标签页中,点击添加处理集群

  4. 选择 Linux 作为工作负载类型,然后点击下一步

  5. 从下拉列表中选择您在先前步骤中创建的集群 migration-processing,然后点击下一步

  6. 配置部分中,保留默认值不变,然后点击下一步

  7. 服务账号部分中,检查是否选择了创建新服务账号

  8. 服务账号名称字段中,输入 tutorial-sa1

  9. 依次点击继续部署

    等待几分钟,以便处理集群设置完成。

清理

为避免产生不必要的 Google Cloud 费用,您应该在完成本教程后删除用于本教程的资源。这些资源包括:

  • boa-cluster GKE 集群
  • migration-processing GKE 集群
  • ledgermonolith-service Compute Engine 虚拟机
  • tutorial-sa1 服务账号

您可以手动删除这些资源,也可以使用下面的步骤删除项目,这也将移除所有资源。

  • 在 Google Cloud 控制台中,进入管理资源页面。

    转到“管理资源”

  • 在项目列表中,选择要删除的项目,然后点击删除
  • 在对话框中输入项目 ID,然后点击关闭以删除项目。
  • 后续步骤

    现在,您已了解如何使用迁移发现工具评估虚拟机并创建了处理集群,接下来即可学习本教程的下一部分(迁移和部署)。

    如果您至此结束本教程的学习,请务必清理您的 Google Cloud 项目和资源。