将 Linux 应用平台更换为容器

迁移到容器Cloud Code 的集成,使您能够 对在虚拟机上运行的 Linux 应用组件进行现代化改造,以及 生成可部署到 Google Kubernetes EngineCloud Run 使用 Linux 机器进行 IDE 测试。

在本指南中,您将学习如何将现有应用平台更换为 使用 Cloud Code 您的 IDE 中的扩展程序。

本指南适用于在 Linux 计算机上运行 熟悉 VS Code 并且有一个虚拟机用来运行应用组件

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 启用 Google Kubernetes Engine API。

    启用 API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. 确保您的 Google Cloud 项目已启用结算功能

  7. 启用 Google Kubernetes Engine API。

    启用 API

  8. 安装 Cloud Code 扩展程序
  9. 创建和配置 GKE 集群
  10. 确保您知道要执行的迁移类型。有关 支持的工作负载的信息,请参阅 查看兼容的操作系统、工作负载和 Kubernetes 版本
  11. 准备 您的源机器和本地机器以进行现代化改造。Cloud Code 仅支持使用 Linux 进行现代化改造。

添加更换平台来源

在本部分中,您将安装 Migration Center 资产识别客户端 CLI (mcdc) 和其他 本地机器上的 Migrate to Containers 工具(如果尚未完成) 然后按照以下步骤添加 replatform 来源:

  1. 在 IDE 的活动栏中,点击 Cloud Code。 然后展开 Replatform Apps Explorer。

  2. 如果这是您首次在 Google Cloud 控制台中使用 Migrate to Containers, Cloud Code,您需要安装 mcdc CLI 以及本地机器上的其他 Migrate to Containers 工具 安装工具。否则,请继续下一步。

  3. 点击修改来源。此操作会打开一个空的 mcdc-sources.json 文件。将 来源采用以下格式:

    [
      {
        "title": "SOURCE_NAME",
        "host": "HOSTNAME",
        "user": "USER",
        "identityFile":"IDENTITY-FILE-PATH"
      }
    ]
    
  4. 若要查看来源显示在 Replatform Apps Explorer 中,请按住您的 将鼠标指针悬停在 Replatform Apps Explorer 上,然后点击 缓存的 重新加载来源按钮 。

可选:生成适合度评估

在尝试将应用平台更换为容器之前,我们建议您 您需要生成 来源的适合度评估 用于通知您来源是否能够为容器更换平台。

要生成来源的拟合评估,请右键点击来源,然后选择 评估来源。这会在您的 IDE 中打开终端,并显示 来源的评估。

评估完成后,mcdc 会生成 Google 健身 评估报告。

如果系统报告您的来源为适合度,那么您就可以更换平台了 部署应用

为应用更换平台

Cloud Code 会为每个平台和平台 可让您在工作区中运行复制分析生成任务 自动执行平台更新步骤如果您在没有运行 Generate 任务的情况下运行 然后再生成工件。

以下部分将指导您完成上述每项任务并 使用 Cloud Code 将应用平台更换为容器。

如需详细了解迁移的生命周期,请参阅 迁移到 Containers CLI 架构

创建新的平台工作区

在创建新的平台更换工作区之前,您需要知道 为您的迁移类型选择的迁移参数。更多信息 有关每种迁移类型的参数,请参阅 创建迁移计划

如需在 IDE 中使用制品创建新的平台工作区,请按照下列步骤操作 步骤:

  1. Replatform Apps 资源管理器中,右键点击要更新的源代码 更换平台 (replatform),然后点击更换平台 (Replatform)。

  2. 从菜单显示的选项列表中,选择一个更换平台

  3. 选择要为应用更换平台的新工作区目录,点击 确定,然后点击创建平台工作区

  4. 选择适合您的迁移类型的迁移参数。

  5. 可选:如果您选择了 WebSphere 迁移类型,并使用 二进制扫描器, 选择 binaryAppScanner.jar 文件。

    生成工作区需要几秒钟的时间。系统会打开新工作区 目录中。

将文件从虚拟机复制到工作区

如需将文件从虚拟机复制到 IDE 中的工作区,请执行以下命令: 操作步骤:

  1. 可选:mcdc CLI 会应用过滤条件来缩减大小 但您可以修改 filters.txt 文件,以进一步减少 副本的大小。要了解如何缩减副本的大小,请参阅 缩减复制的文件系统的大小

  2. Ctrl+Shift+P 打开命令面板。

  3. 搜索并选择 Tasks: Run Task,然后选择 m2c: Copy。 复制文件可能需要几分钟时间。

分析虚拟机文件系统并生成迁移计划

如需分析虚拟机文件系统并生成迁移计划,请执行 操作步骤:

  1. Ctrl+Shift+P 打开命令面板。

  2. 搜索并选择 Tasks: Run Task,然后选择 m2c: Analyze

    如果分析任务失败,您需要修改迁移参数 通过 analyze-args.ini 文件传递。此文件中的每个参数各占一行 的随附文档。

    分析成功后,Cloud Code 会创建一个名为 migration-plan,其中包含以 config.yaml 文件。您可以修改此文件,以更改软件制品的存储方式 。

    config.yaml 文件的结构因迁移类型而异。 如需详细了解受支持的迁移类型,请参阅以下内容 页面:

生成工件

如需生成工件,您需要在 IDE 中运行 Generate 任务。如果您 尚未运行前面部分中的 CopyAnalyze 任务, Generate 任务在生成工件之前会自动运行它们。

如需生成工件,请执行以下步骤:

  1. Ctrl+Shift+P 打开命令面板。

  2. 搜索并选择 Tasks: Run Task,然后选择 m2c: Generate。 这会在 src 目录中生成工件,其中包含 skaffold.yaml 文件,用于构建和部署容器映像。每个 迁移类型会生成不同的工件,但所有迁移类型通常 创建一个或多个 dockerfile 和 GKE 部署规范 由 skaffold.yaml 引用。

    工件生成完成后,您便完成了 !

  3. 可选:如果您想修改迁移计划,请修改您的 config.yaml 文件并重新运行 m2c: Generate 任务。

    或者,如果您对更换平台效果感到满意,则可以继续 在 GKE 容器中运行应用

在 GKE 容器中运行应用

在本部分中,您将在 GKE 容器、查看正在运行的应用的日志以及 清理资源

如果您尚未创建和配置 GKE 请按照 在 Cloud Code for VS Code 中创建和配置 GKE 集群

如需详细了解如何调试 GKE 应用,请参阅 使用 Cloud Code for VS Code 调试 Kubernetes 应用

运行和查看应用

现在,您已完成所有设置,可以运行应用并实时查看应用了。Cloud Code 会监控您的文件系统是否有更改,以便您 修改并重新运行应用。

如需运行您的应用,请按以下步骤操作:

  1. 在 Cloud Code 状态栏中,点击活跃项目名称。

    状态栏中的活跃项目名称

  2. 在显示的“快速选择”菜单中,选择在 Kubernetes 上运行

  3. 确认是使用当前集群上下文,还是切换到其他集群上下文。

  4. 如果出现提示,请选择要将映像推送到的映像注册表。如果您 使用 gcr.io/PROJECT_ID 创建新的映像注册表, 确保该映像注册表与您的集群位于同一项目中。

    系统会显示一个输出窗口,您可以在其中跟踪正在运行的应用的进度。您还会看到 显示正在运行的 Pod 的输出

  5. 应用在 Kubernetes 上运行后,输出窗口会显示 IP 地址。要使用此关联 IP 地址访问您的 应用程序,按住 Ctrl 键,然后点击地址。

调试会话启动后,开发会话窗格将显示 结构化日志记录视图任务开始时,该任务会显示 转动的半圆形 progress_activity

如果任务成功,对勾标记 check_circle 会显示在该步骤旁边。

要查看某个步骤的详细信息,请在 开发会话窗格。“输出”窗格会在日志记录输出中显示该步骤。

清理

停止应用后,此期间部署的所有 Kubernetes 资源 运行作业会自动删除

为避免系统因此 如果出现以下情况,请务必删除项目或删除您创建的集群 您希望重复使用该项目

如需删除集群,请执行以下操作:

  1. 点击 Cloud Code,然后展开 Kubernetes Explorer。
  2. 将指针悬停在集群名称上,然后点击 open_in_new 在 Google Cloud 控制台中打开
  3. 点击删除,然后再次点击删除进行确认。

如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:

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

    转到“管理资源”

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

如需删除在更换平台过程中创建的所有本地文件,请执行以下操作:

  1. 打开命令面板 (Ctrl+Shift+P)。
  2. 搜索并选择 Tasks: Run Task,然后选择 m2c: Cleanup