你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:为 Azure Spring Apps 设置 Spring Cloud Config Server
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于:✔️ 基本/标准层 ❌ Enterprise 层
Config Server 是分布式系统的一种集中式配置服务。 它使用当前支持本地存储、Git 和 Subversion 的可插入存储库层。 在此快速入门中,你将设置 Config Server 以从 Git 存储库获取数据。
先决条件
- 完成本系列的上一个快速入门:预配 Azure Spring Apps 服务。
- Azure Spring Apps Config Server 仅适用于基本计划或标准计划。
Config Server 过程
通过运行以下命令,使用项目的 Git 存储库的位置设置 Config Server。 将 替换为之前创建的服务的名称<service-instance-name>
。 在前面的快速入门中设置的服务实例名称的默认值不适用于此命令。
az spring config-server git set \
--name <service-instance-name> \
--uri https://github.com/Azure-Samples/azure-spring-apps-samples \
--search-paths steeltoe-sample/config
此命令指示 Config Server 在示例应用存储库的 steeltoe-sample/config 文件夹中查找配置数据。 由于获取配置数据的应用名称为 planet-weather-provider
,因此使用的文件是 planet-weather-provider.yml。
先决条件
- JDK 17
- Azure 订阅。 如果你没有订阅,请在开始之前创建一个免费帐户。
- (可选)Azure CLI 2.45.0 或更高版本。 使用以下命令安装 Azure Spring Apps 扩展:
az extension add --upgrade --name spring
- (可选)Azure Toolkit for IntelliJ。
Config Server 过程
以下过程使用 Azure 门户设置 Config Server 来部署 PetClinic 示例。
转到服务的“概览”页,选择“配置服务器”。
在“默认存储库”部分,将“URI”设置为
https://github.com/azure-samples/spring-petclinic-microservices-config
。选择“验证”。 验证会检查 git 存储库的架构和可访问性,以确保其正确。
完成验证后,选择“应用”以保存更改。
更新配置可能需要几分钟。 配置完成后,会收到通知。
提示
有关为 Config Server 使用专用存储库的信息,请参阅在 Azure Spring Apps 中配置托管的 Spring Cloud Config Server。
Azure Spring Apps Config Server 的故障排除
以下过程说明如何对 Config Server 设置进行故障排除。
在 Azure 门户中,转到服务“概览”页,然后选择“日志” 。
在“显示包含‘错误’或‘异常’术语的应用程序日志”下的“查询”窗格中,选择“运行”。
日志中的以下错误指示 Spring Apps 服务无法在 Config Server 中找到属性:
java.lang.illegalStateException
转到服务“概述”页。
选择“诊断并解决问题”。
在“可用性和性能”下,选择“排除故障”。
Azure 门户显示“可用性和性能”页面,该页面提供有关 Config Server 运行状况的各种信息。
清理资源
如果打算继续使用后续的快速入门和教程,则可能需要保留这些资源。 如果不再需要该资源组,请将其删除,这将删除资源组中的资源。 若要删除资源组,请在 Azure CLI 中输入以下命令:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."