在本指南中,您将学习如何使用 Linux 机器上的 IDE 中的 Cloud Code 扩展程序,将现有应用更换平台到 GKE 容器。
本指南面向 Linux 机器上的开发者,他们需要具备 VS Code 的实用 知识,熟悉 ,并且有一个运行其应用组件的虚拟机。 Google Cloud
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud的新用户, 请创建一个账号,以评估我们的产品在 实际场景中的表现。新客户还可以获得 300 美元的免费抵用金,用于 运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Kubernetes Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Kubernetes Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- 如果您尚未安装 Cloud Code 扩展程序 ,请进行安装。
- 创建和配置 GKE 集群。
- 确保您知道要执行的迁移类型。如需详细了解支持的工作负载,请参阅 查看兼容的操作系统、工作负载和 Kubernetes 版本。
- 为现代化改造准备来源机器和本地机器。Cloud Code 仅支持 Linux 进行现代化改造。
添加重新平台化来源
在本部分中,如果您尚未在本地机器上安装 Migration Center 资产识别客户端 CLI (mcdc) 和其他 Migrate to Containers 工具,请先安装这些工具,然后按照以下步骤添加更换平台来源:
在 IDE 的活动栏中,点击
Cloud Code, 然后展开 Replatform Apps 探索器。
如果您是首次在 Cloud Code 中使用 Migrate to Containers,则需要点击安装工具 ,在本地机器上安装
mcdcCLI 和其他 Migrate to Containers 工具。否则,请继续下一步。点击修改来源 。系统会打开一个空的
mcdc-sources.json文件。请按以下格式添加来源:[ { "title": "SOURCE_NAME", "host": "HOSTNAME", "user": "USER", "identityFile":"IDENTITY-FILE-PATH" } ]如需在 Replatform Apps 探索器中查看来源,请将指针悬停在 Replatform Apps 探索器上,然后点击显示的 已缓存 重新加载来源 按钮。
可选:生成适合度评估
在尝试将应用更换平台到容器之前,我们建议 您生成 来源的适合度评估, 该评估会在来源能够更换平台容器时通知您。
如需生成来源的适合度评估,请右键点击来源,然后选择评估来源 。系统会在 IDE 中打开终端,并显示来源评估的日志。
评估完成后,mcdc 会在 IDE 中生成适合度评估报告。
如果您的来源被报告为非常适合,则表示您已准备好更换平台 应用。
更换应用平台
Cloud Code 会为每个更换平台创建一个专用工作区,并允许您在工作区中运行 Copy、Analyze 和 Generate 任务以自动执行更换平台步骤。如果您在未先运行 Copy 和 Analyze 任务的情况下运行 Generate 任务,则系统会在生成工件之前自动运行这两个任务。
以下部分将指导您完成每个任务,并使用 Cloud Code 将应用重新平台化到容器。
如需详细了解迁移的生命周期,请参阅 Migrate to Containers CLI 架构。
创建新的重新平台化工作区
在创建新的更换平台工作区之前,您需要了解要为迁移类型选择哪些迁移参数。如需详细了解每种迁移类型的参数,请参阅 创建迁移计划。
如需在 IDE 中创建包含制品的全新更换平台工作区,请按照以下步骤操作:
在 Replatform Apps 探索器中,右键点击要重新平台化的来源,然后点击 Replatform 。
从菜单中显示的选项列表中,选择一个更换平台历程。
选择一个新工作区目录以更换应用平台,点击 确定,然后点击 创建更换平台工作区。
为迁移类型选择迁移参数。
可选:如果您选择了 WebSphere 迁移类型并想使用 二进制扫描器, 请选择
binaryAppScanner.jar文件。工作区生成需要几秒钟时间。系统会在 IDE 的新窗口中打开新的工作区目录。
将文件从虚拟机复制到工作区
如需将文件从虚拟机复制到 IDE 中的工作区,请执行以下步骤:
可选:
mcdcCLI 会应用过滤器来减小副本的大小,但您可以修改filters.txt文件以进一步减小副本的大小。如需了解如何减小副本的大小,请参阅 减小复制的文件系统的大小。按 Ctrl+Shift+P 打开命令面板。
搜索并选择 Tasks: Run Task,然后选择 m2c: Copy。 复制文件可能需要几分钟时间。
分析虚拟机文件系统并生成迁移计划
如需分析虚拟机文件系统并生成迁移计划,请执行以下步骤:
按 Ctrl+Shift+P 打开命令面板。
搜索并选择 Tasks: Run Task,然后选择 m2c: Analyze。
如果分析任务失败,您需要通过
analyze-args.ini文件修改迁移参数。此文件中的每个参数都占一行,并附有关于该参数的文档。分析成功后,Cloud Code 会创建一个名为
migration-plan的目录,其中包含config.yaml文件形式的分析结果。您可以修改此文件以更改工件的生成方式。config.yaml文件的结构因迁移类型而异。如需详细了解支持的迁移类型,请参阅以下页面:
生成工件
如需生成工件,您需要在 IDE 中运行 Generate 任务。如果您尚未运行前面部分中的 Copy 和 Analyze 任务,则 Generate 任务会在生成工件之前自动运行这两个任务。
如需生成工件,请执行以下步骤:
按 Ctrl+Shift+P 打开命令面板。
搜索并选择 Tasks: Run Task,然后选择 m2c: Generate。 这会在
src目录中生成工件,该目录包含用于构建和部署容器映像的skaffold.yaml文件。每种迁移类型都会生成不同的工件,但所有迁移类型通常都会创建一个或多个 Dockerfile 和一个skaffold.yaml引用的 GKE 部署规范。数据制品生成完成后,您就完成了应用的更换平台!
可选:如果您想修改迁移计划,请修改
config.yaml文件并重新运行 m2c: Generate 任务。否则,如果您对更换平台结果感到满意,则可以继续 在 GKE 容器中运行应用。
在 GKE 容器中运行应用
在本部分中,您将在 GKE 容器中运行重新平台化的应用,查看正在运行的应用的日志,并清理资源。
如果您尚未创建和配置 GKE 集群,请按照 Cloud Code for VS Code 中的创建和配置 GKE 集群中的说明操作。
如需详细了解如何调试 GKE 应用,请参阅 使用 Cloud Code for VS Code 调试 Kubernetes 应用。
运行和查看应用
现在,您已完成所有设置,可以运行应用并实时查看应用了。 Cloud Code 还会监控您的文件系统是否有更改,以便您可以实时修改并重新运行应用。
如需运行您的应用,请按以下步骤操作:
在 Cloud Code 状态栏中,点击活跃项目名称。

在显示的快速选择菜单中,选择 Run on Kubernetes 。
确认是使用当前集群上下文,还是切换到其他集群上下文。
如果系统提示,请选择要将映像推送到其中的映像注册表。如果您使用
gcr.io/PROJECT_ID创建新的映像注册表,请确保该映像注册表与您的集群位于同一项目中。系统会显示一个输出窗口,您可以在其中跟踪正在运行的应用的进度。您还会在终端输出中看到来自正在运行的 Pod 的实时日志流。
应用在 Kubernetes 上运行后,输出窗口会显示 IP 地址。如需使用此关联 IP 地址访问您的 应用,请按 Ctrl,然后点击该地址。
调试会话开始后,Development sessions 窗格会显示结构化日志记录视图。任务开始时,任务会显示一个 旋转的半圆 progress_activity。
如果任务成功,则会在步骤旁边显示一个对勾标记 check_circle 。
如需查看步骤的详细信息,请点击 Development session 窗格中的步骤。“输出”窗格会在日志记录输出中显示该步骤。
清理
您停止应用后,系统会自动删除在运行期间部署的所有 Kubernetes 资源。
如需避免系统因本快速入门中使用的其他资源向您的账号收取费用,请务必删除项目或删除您创建的集群(如果您想重复使用该项目)。
如需删除集群,请执行以下操作:
- 点击
Cloud Code ,然后展开 Kubernetes 探索器。
- 将指针悬停在集群名称上,然后点击 open_in_new Open in Google Cloud console。
- 点击删除 ,然后再次点击删除 进行确认。
如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:
- 在 Google Cloud 控制台中,前往 管理资源 页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击 关闭以删除项目。
如需删除在更换平台过程中创建的所有本地文件,请执行以下操作:
- 打开命令面板 (Ctrl+Shift+P)。
- 搜索并选择 Tasks: Run Task,然后选择 m2c: Cleanup。