你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:发现在数据中心运行的 Spring Boot 应用程序(预览版)
本文介绍如何使用 Azure Migrate:发现和评估工具发现在数据中心的服务器上运行的 Spring Boot 应用程序。 发现过程完全无代理; 目标服务器上未安装任何代理。
本教程介绍如何执行下列操作:
- 设置基于 Kubernetes 的设备以发现 Spring Boot 应用程序
- 配置设备并启动持续发现
注意
- 发现 Spring Boot 应用程序需要基于 Kubernetes 的设备。 详细了解基于 Windows 的设备所涵盖的方案。
- 教程介绍了尝试方案的最快路径。 这些教程会在任何可行的情况下使用默认选项。
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
支持的地理区域
地域 |
---|
亚太区 |
韩国 |
日本 |
美国 |
欧洲 |
英国 |
加拿大 |
澳大利亚 |
法国 |
先决条件
- 在按照本教程发现 Spring Boot 应用程序之前,请确保已按照以下教程使用 Azure Migrate 设备执行服务器发现:
- 确保已通过在设备配置管理器上提供服务器凭据来执行软件盘存。 了解详细信息。
- 仅支持使用公共终结点连接创建的 Migrate 项目。 不支持专用终结点项目。
设置基于 Kubernetes 的设备
使用 Azure Migrate 设备执行服务器发现和软件盘存后,可以通过设置 Kubernetes 设备来启用 Spring Boot 应用程序的发现,如下所示:
加入基于 Kubernetes 的设备
转到 Azure 门户。 使用 Azure 帐户登录并搜索 Azure Migrate。
在“概述”页 >“服务器、数据库和 Web 应用”中,选择“发现、评估和迁移”。
选择将 Azure Migrate 设备设置为先决条件的一部分的项目。
你将看到“Azure Migrate: 发现和评估”磁贴上方出现一条消息,用于加入基于 Kubernetes 的设备,以便可以发现 Spring Boot 应用程序。
可以通过选择消息上的链接继续操作,这将帮助你开始加入基于 Kubernetes 的设备。
注意
建议你选择对服务进行磁盘加密的 Kubernetes 群集。 详细了解如何在 Kubernetes 中加密静态数据。
在“选择设备”中,可以选择以下选项之一:
- 使用打包的 Kubernetes 群集安装设备 - 此选项默认处于选中状态,因为建议用户使用安装程序脚本在本地 Linux 服务器上下载和安装 Kubernetes 群集以设置设备。
- 自带 Kubernetes 群集:你必须自带在本地运行的 Kubernetes 群集,将其连接到 Azure Arc 并使用安装程序脚本设置设备。
在“提供 Azure Migrate 的设备详细信息”中,设备名称已预先填充,但你可以选择为设备提供自己的易记名称。
从下拉列表中选择密钥保管库,也可以或新建密钥保管库。 此密钥保管库用于处理项目中提供的凭据以开始发现 Spring Boot 应用程序。
注意
可以在与 Azure Migrate 项目相同的订阅和区域中选择或创建密钥保管库。 创建/选择 KV 时,请确保禁用清除保护,否则通过密钥保管库处理凭据时会出现问题。
提供设备名称和密钥保管库后,选择“生成脚本”以生成安装程序脚本,你可以将该脚本复制并粘贴到本地 Linux 服务器上。 执行脚本之前,请确保 Linux 服务器满足以下先决条件:
支持 详细信息 支持的 Linux 操作系统 Ubuntu 20.04,RHEL 9 所需的硬件配置 8 GB RAM,具有 30 GB 存储、4 核 CPU 网络要求 可访问以下终结点:
*.docker.io
*.docker.com
api.snapcraft.io
https://dc.services.visualstudio.com/v2/track
启用了 Azure Arc 的 Kubernetes 的网络要求
用于绕过代理的 Azure CLI 终结点
复制脚本后,可以转到你的 Linux 服务器,将脚本在服务器上另存为 Deploy.sh。
使用出站代理服务器进行连接
如果计算机位于出站代理服务器后面,则必须通过出站代理服务器路由请求。 按照以下步骤提供代理设置:
- 打开服务器上的终端,并以 root 用户身份执行以下命令设置环境变量:
sudo su -
- 在部署计算机上,设置
deploy.sh
使用出站代理服务器所需的环境变量:export HTTP_PROXY=”<proxy-server-ip-address>:<port>” export HTTPS_PROXY=”<proxy-server-ip-address>:<port>” export NO_PROXY=””
- 如果代理使用证书,请提供证书的绝对路径。
export PROXY_CERT=””
注意
计算机在安装所需的必备组件以运行 deploy.sh
脚本时使用代理详细信息。 它不会替代已启用 Azure Arc 的 Kubernetes 群集的代理设置。
执行安装程序脚本
将脚本保存到 Linux 服务器上后,请执行以下步骤:
注意
在满足网络先决条件和 OS 兼容性的终端上连接到 Linux 计算机后,需要运行此脚本。
请确保已在服务器上安装 curl。 对于 Ubuntu,可以使用命令 sudo apt-get install curl
进行安装,对于其他操作系统 (RHEL),可以使用 yum install curl
命令。
重要
除非要清理安装程序,否则不要编辑该脚本。
打开服务器上的终端,并执行以下命令,以 root 用户身份执行脚本:
sudo su -
将目录更改为保存脚本的位置并使用以下命令执行脚本:
bash deploy.sh
按照脚本中的说明进行操作,并在出现提示时使用你的 Azure 用户帐户登录。
此脚本执行以下步骤:
- 安装所需的 CLI 扩展。
- 注册 Azure 资源提供程序
- 检查先决条件,例如与所需终结点的连接性
- 设置 MicroK8s Kubernetes 群集
- 在群集上安装所需的运算符
- 创建所需的 Migrate 资源
成功执行脚本后,通过门户配置设备。
重新安装
注意
如果在脚本执行过程中遇到任何问题,则需要重新运行该脚本,它将从上次成功状态恢复。 若要执行完整的全新安装,请在重新运行脚本之前查看清理安装程序详细信息。
静态加密
设置打包设备时,我们共同承担确保机密受保护的责任。
- 建议你选择对服务进行磁盘加密的 Linux VM。
配置基于 Kubernetes 的设备
使用安装程序脚本成功设置设备后,需要按照以下步骤配置设备:
转到开始加入基于 Kubernetes 的设备的 Azure Migrate 项目。
在“Azure Migrate:发现和评估”磁贴上,选择设备摘要下的“挂起操作”的设备计数。
在“概述”>“管理”>“设备”中,将显示一个经过筛选的设备列表,其中包含挂起的操作。
找到你已设置的基于 Kubernetes 的设备,然后选择“凭据不可用”状态来配置该设备。
在“管理凭据”页中,添加凭据以启动对服务器上运行的 Spring Boot 应用程序的发现。
选择“添加凭据”,从 Linux(非域)或域凭据中选择凭据类型,提供易记名称、用户名和密码。 选择“保存”。
注意
- 在门户上添加的凭据通过在加入基于 Kubernetes 的设备的初始步骤中选择的 Azure 密钥保管库进行处理。 然后,凭据将同步(以加密格式保存)到设备上的 Kubernetes 群集,并从 Azure 密钥保管库中删除。
- 凭据成功同步后,它们将用于在下一个发现周期中发现特定工作负载。
添加凭证后,需要刷新页面才能看到凭证的同步状态。 如果状态为“未完成”,则可以选择该状态来查看遇到的错误并采取建议的操作。 凭据成功同步后,等待 24 小时,然后可以通过在“已发现的服务器”页面中筛选特定工作负荷来查看已发现的盘存。
注意
你可以随时添加/更新凭据,方法是导航到“Azure Migrate:发现和评估”>“概述”>“管理”>“设备页面”,从基于 Kubernetes 的设备中的可用选项中选择“管理凭据”。
清理安装程序
若要执行清理,请在删除模式下运行以下脚本:
在门户生成的脚本中,在所有用户参数(下图中的第 19 行之后)之后,添加 export DELETE= “true”
并再次运行同一脚本。 这会清理在创建设备期间创建的所有现有组件。
发现过程概述
“发现的服务器”屏幕提供以下信息:
- 显示基于服务器的环境中运行的所有 Spring Boot 工作负载。
- 以表格式列出每个服务器的基本信息。
选择任一 Web 应用以查看其详细信息。 “Web 应用”屏幕提供以下信息:
- 提供每个服务器上每个 Spring Boot 进程的综合视图。
- 显示每个进程的详细信息,包括:
- JDK 版本和 Spring Boot 版本。
- 已配置的环境变量名称和 JVM 选项。
- 正在使用的应用程序配置和证书文件。
- 服务器上进程的 JAR 文件的位置。
- 静态内容位置和绑定端口。
后续步骤
- 评估 Spring Boot 应用程序以便迁移。
- 查看设备在发现期间收集的数据。