配置 Spring Cloud Config Server

已完成

在本模块中,你将配置 Spring Cloud Config Server,该服务器将完全由 Azure Spring Apps 进行管理和支持,并供 Spring Boot 微服务使用。

此 Spring Cloud Config Server 从 Git 存储库获取其配置数据,该存储库将存储 Spring Boot 配置文件。 使用此机制存储配置文件具有以下优点:

  • 应用程序的敏感参数(例如数据库密码)不会检入到应用程序代码中。
  • 可以保护存储配置的 Git 存储库,以便仅运营团队才能访问它。
  • 因为配置文件存储在 Git 中,所以可对其进行标记或回滚,从而轻松管理生产环境。
  • 它为所有微服务提供集中位置用于存储所有配置数据。

创建 Git 存储库用于存储应用程序配置

GitHub 帐户上,创建新的专用存储库,用于存储 Spring Boot 配置。

在新的专用 GitHub 存储库中,添加新的 application.yml 文件,该文件存储所有微服务的配置数据。

通常情况下,每个 Spring Boot 应用程序都在应用程序二进制文件中包含一个这样的文件,以包含应用程序设置。 Spring Cloud Configuration Server 允许将此类设置存储在应用程序外部,这具有以下优点:

  • 它允许在应用程序外部存储敏感参数(例如数据库密码)。
  • 配置存储在 Git 存储库中,因此,可以对其数据进行标记或回滚。
  • 它使用特定 Git 存储库,可以单独对其进行保护。
  • 它为所有微服务提供集中位置用于存储所有配置数据。

目前,我们的 application.yml 将只存储一条消息,用于检查配置是否成功:

application:
    message: Configured by Azure Spring Apps

提交并推送新文件:

git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push

创建 GitHub 个人令牌

Azure Spring Apps 可以访问公开、由 SSH 保护或使用 HTTP 基本身份验证保护的 Git 存储库。 我们将使用最后一个选项,因为使用 GitHub 可以更轻松地创建和管理。

遵循 GitHub 指南创建个人令牌并保存令牌。 要求选择范围时,请选中整个“存储库”部分,不要选择任何其他选项。

Screenshot that shows the GitHub personal access token settings.

生成令牌后,请将该选项卡保持打开状态,直到本部分结束。

配置 Azure Spring Apps 以访问 Git 存储库

  1. 转到 Microsoft Azure 门户并搜索 Azure Spring Apps

  2. 转到 Azure Spring Apps 服务器的概述页,然后在菜单中选择“Config Server”。

  3. 配置之前创建的存储库:

    1. 添加存储库 URL,例如,https://github.com/<YOUR_USERNAME>/azure-spring-cloud-configgit@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git

      提示

      确保在 URL 中包括 .git 结尾,或者使用限定的 URI。

    2. Label 中添加分支。 在 GitHub 上默认为 main,但是较早的存储库或备用 Git 提供程序可能仍使用 master

    3. 选择“身份验证”,然后选择“HTTP 基本”。

    4. 用户名是 GitHub 登录名。

    5. 密码是我们在上一部分中创建的个人令牌。

    Screenshot of the Spring Cloud config server settings.

  4. 选择“验证”并等待操作成功。

  5. 选择“应用”并等待操作成功。

审阅

我们创建了专用配置存储库。 我们也已启用 Azure Spring Apps 来使用此存储库中的配置文件创建配置服务器。

知识检查

1.

在 Azure Spring Apps 上,Spring Cloud Config Server 支持哪些安全机制?

2.

使用 Spring Cloud Config 是一个很好的解决方案,因为: