在本指南中,您将学习如何使用 Linux 机器上 IDE 中的 Cloud Code 扩展程序将现有应用重新平台化为 GKE 容器。
本指南面向 Linux 机器上的开发者,这些开发者对 VS Code 有一定的了解,熟悉 Google Cloud,并且有一个运行其应用组件的虚拟机。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Google Kubernetes Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Google Kubernetes Engine API.
- 如果您尚未安装 Cloud Code 扩展程序,请进行安装。
- 创建和配置 GKE 集群。
- 请务必了解您要执行哪种类型的迁移。如需详细了解支持的工作负载,请参阅查看兼容的操作系统、工作负载和 Kubernetes 版本。
- 准备源机器和本地机器以进行现代化改造。Cloud Code 仅支持 Linux 进行现代化改造。
在 IDE 的活动栏中,点击
Cloud Code,然后展开 Replatform Apps 探索器。
如果您是首次在 Cloud Code 中使用 Migrate to Containers,则需要点击安装工具,在本地机器上安装
mcdc
CLI 和其他 Migrate to Containers 工具。否则,请继续下一步。点击修改来源。系统随即会打开一个空的
mcdc-sources.json
文件。以以下格式添加来源:[ { "title": "SOURCE_NAME", "host": "HOSTNAME", "user": "USER", "identityFile":"IDENTITY-FILE-PATH" } ]
如需在 Replatform Apps 浏览器中看到来源,请将指针悬停在 Replatform Apps 浏览器上,然后点击显示的 缓存 重新加载来源按钮。
在应用平台转换探索器中,右键点击要转换平台的来源,然后点击转换平台。
从菜单中显示的选项列表中,选择一个平台迁移方案。
选择一个新工作区目录以重新平台化您的应用,点击确定,然后点击创建重新平台化工作区。
为迁移类型选择迁移参数。
可选:如果您选择了 WebSphere 迁移类型,并且想要使用二进制扫描器,请选择
binaryAppScanner.jar
文件。生成工作区需要几秒钟的时间。这会在 IDE 的新窗口中打开新的工作区目录。
可选:
mcdc
CLI 会应用过滤条件来减小复制的大小,但您可以修改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
文件的结构因迁移类型而异。如需详细了解支持的迁移类型,请参阅以下页面:按 Ctrl+Shift+P 打开命令面板。
搜索并选择 Tasks: Run Task,然后选择 m2c: Generate。 这会在
src
目录中生成工件,其中包含用于构建和部署容器映像的skaffold.yaml
文件。每种迁移类型都会生成不同的工件,但所有迁移类型通常都会创建一个或多个 Dockerfile 以及一个引用skaffold.yaml
的 GKE 部署规范。生成制品后,您就完成了应用平台转换!
可选:如果您想修改迁移方案,请修改
config.yaml
文件,然后重新运行 m2c: Generate 任务。否则,如果您对平台转换结果感到满意,可以继续在 GKE 容器中运行应用。
在 Cloud Code 状态栏中,点击有效项目名称。
在显示的“快速选择”菜单中,选择在 Kubernetes 上运行。
确认是使用当前集群上下文,还是切换到其他集群上下文。
如果系统提示,请选择要将映像推送到其中的映像注册表。如果您要使用
gcr.io/PROJECT_ID
创建新的映像注册表,请确保该映像注册表与您的集群位于同一项目中。系统会显示一个输出窗口,您可以在其中跟踪正在运行的应用的进度。您还会在终端输出中看到来自正在运行的 pod 的实时日志流。
应用在 Kubernetes 上运行后,输出窗口会显示 IP 地址。如需使用此关联的 IP 地址访问您的应用,请按住 Ctrl 并点击该地址。
- 点击
Cloud Code,然后展开 Kubernetes 探索器。
- 将指针悬停在集群名称上,然后点击 open_in_new 在 Google Cloud 控制台中打开。
- 点击删除,然后再次点击删除进行确认。
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- 打开命令选用区 (Ctrl+Shift+P)。
- 搜索并选择 Tasks: Run Task,然后选择 m2c: Cleanup。
添加平台转换来源
在本部分中,您将在本地机器上安装 Migration Center 资产识别客户端 CLI (mcdc
) 和其他 Migrate to Containers 工具(如果您尚未安装),然后按照以下步骤添加平台转换源:
可选:生成适合度评估
在尝试将应用重新平台化为容器之前,我们建议您生成来源的适应性评估,该评估会告知您来源是否能够重新平台化为容器。
如需生成来源的贴合度评估,请右键点击相应来源,然后选择评估来源。这会在 IDE 中打开终端,并显示来源评估的日志。
评估完成后,mcdc
会在 IDE 中生成一份 Fit 评估报告。
如果您的来源被报告为“适合”,则说明您已准备好重新平台化您的应用。
重新平台化您的应用
Cloud Code 会为每个平台转换创建专用工作区,并允许您在工作区中运行复制、分析和生成任务,以自动执行平台转换步骤。如果您在未先运行 Copy 和 Analyze 任务的情况下运行 Generate 任务,系统会在生成制品之前自动运行这两个任务。
以下部分将指导您完成每项任务,并使用 Cloud Code 将应用重新平台化为容器。
如需详细了解迁移的生命周期,请参阅 Migrate to Containers CLI 架构。
创建新的平台迁移工作区
在创建新的平台转换工作区之前,您需要了解应为迁移类型选择哪些迁移参数。如需详细了解每种迁移类型的参数,请参阅创建迁移计划。
如需在 IDE 中创建包含制品的新的平台转换工作区,请按以下步骤操作:
将文件从虚拟机复制到工作区
如需将文件从虚拟机复制到 IDE 中的工作区,请执行以下步骤:
分析虚拟机文件系统并生成迁移计划
如需分析虚拟机文件系统并生成迁移计划,请执行以下步骤:
生成工件
如需生成制品,您需要在 IDE 中运行 Generate 任务。如果您尚未运行前几部分中的复制和分析任务,生成任务会在生成制品之前自动运行这两个任务。
如需生成制品,请执行以下步骤:
在 GKE 容器中运行应用
在本部分中,您将在 GKE 容器中运行重新平台化的应用,查看正在运行的应用的日志,并清理资源。
如果您尚未创建和配置 GKE 集群,请按照 在 Cloud Code for VS Code 中创建和配置 GKE 集群中的说明操作。
如需详细了解如何调试 GKE 应用,请参阅使用 Cloud Code for VS Code 调试 Kubernetes 应用。
运行并查看应用
现在,您已完成所有设置,可以运行应用并实时查看应用了。Cloud Code 还会监控您的文件系统是否有更改,以便您可以实时修改并重新运行应用。
如需运行您的应用,请按以下步骤操作:
调试会话开始后,开发会话窗格会显示结构化日志记录视图。任务开始后,系统会显示该任务,并显示一个旋转的半圆圈 progress_activity。
如果一项任务成功,对应步骤旁边会显示一个对勾标记 check_circle。
如需查看某个步骤的详细信息,请在开发会话窗格中点击该步骤。“输出”窗格会在日志记录输出中显示该步骤。
清理
停止应用后,系统会自动删除在运行期间部署的所有 Kubernetes 资源。
为避免系统因本快速入门中使用的其他资源向您的账号收取费用,请务必删除您创建的项目;如果您想重复使用该项目,请删除您创建的集群。
如需删除集群,请执行以下操作:
如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:
如需删除在平台转换过程中创建的所有本地文件,请执行以下操作: