注释
基本标准计划于 2025 年 3 月 17 日进入退休期。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划于 2024 年 9 月 30 日进入停用期,并将在 2025 年 3 月底之前完全关闭。
本文介绍如何将 Spring Cloud Config Server 迁移到 Azure 容器应用中的 Config Server for Spring。 Azure 容器应用管理 Config Server for Spring,其功能与 Azure Spring Apps 中的 Spring Cloud Config Server 类似。
先决条件
- 启用了配置服务器的 Azure Spring Apps 实例。
- 用于 Config Server 的 Azure 容器应用环境和 Azure 容器应用实例。
预配 Config Server
- Azure 门户
- Azure CLI
以下步骤演示如何在 Azure 容器应用中预配 Config Server for Spring:
在 Azure 门户中导航到 Azure 容器应用环境。
在菜单中,选择“服务”“服务”。>
打开“配置”下拉列表,然后选择“Java 组件”。
在“配置 Java 组件”面板中,输入以下值:
资产 价值 Java 组件类型 选择“Config Server for Spring”。 Java 组件名称 输入“configserver”。 在“Git 存储库”部分中,选择“添加”,然后将值从应用程序配置服务迁移到此处,如下表所示。 选择一个存储库作为 Config Server for Spring 的默认存储库。
资产 价值 类型 选择“默认值”。 URI 输入存储库的 URI 值。 分支名称 输入存储库的标签值。 搜索路径 输入存储库的搜索路径值。 身份验证 选择存储库的身份验证类型并输入相应的信息。 将其余字段保留为默认值,然后选择“添加”。
如有多个存储库,请选择“添加”以迁移其他存储库。 对于“类型”,请选择“其他”,然后按照上一步骤和下表所述迁移其他属性:
资产 价值 类型 选择“默认值”。 模式 以 或 {application}
格式输入存储库的“模式”值。{application}/{profile}
在“绑定”部分中,打开下拉列表以选择要绑定到 Config Server for Spring 的应用。
选择“下一步”。
要设置 Config Server,请在“查看”选项卡上,选择“配置”,然后按照配置部分中的说明进行操作。
成功创建后,可以看到 Config Server for Spring 的“预配状态”为“成功”。
资源分配
Azure 容器应用中托管 Config Server 的容器资源分配固定为以下值:
- CPU:0.5 vCPU
- 内存:1 Gi
若要配置 Config Server for Spring 的实例计数,需要使用相同的值更新参数 --min-replicas
和 --max-replicas
。 此配置可确保实例计数保持固定。 目前,系统不支持动态缩放的自动缩放配置。
配置 Config Server
将 Azure Spring Apps 中 Spring Cloud 配置服务器中配置的默认 Git 存储库和附加存储库映射到 Azure 容器应用中部署的 Config Server for Spring 中的默认存储库和其他存储库。 下表显示了属性的映射关系:
Azure Spring Apps 中的属性名称 | CONFIGURATION_KEY |
CONFIGURATION_VALUE |
---|---|---|
uri |
spring.cloud.config.server.git.uri spring.cloud.config.server.git.repos.{repoName}.uri |
远程存储库的 uri 。 |
search path |
spring.cloud.config.server.git.search-paths spring.cloud.config.server.git.repos.{repoName}.search-paths |
要在本地工作副本中使用的搜索路径。 默认情况下,仅搜索根目录。 |
label |
spring.cloud.config.server.git.default-label spring.cloud.config.server.git.repos.{repoName}.default-label |
Git 使用的标签。 |
其他存储库中的 name |
以下配置中的 {repoName} 。 |
|
其他存储库中的 Patterns |
spring.cloud.config.server.git.repos.{repoName}.pattern |
|
username |
spring.cloud.config.server.git.username spring.cloud.config.server.git.repos.{repoName}.username |
如果身份验证类型为 username ,则输入 HTTP Basic 以向远程存储库进行身份验证。 |
password |
spring.cloud.config.server.git.password spring.cloud.config.server.git.repos.{repoName}.password |
如果身份验证类型为 password ,则输入 HTTP Basic 以向远程存储库进行身份验证。 |
private key |
spring.cloud.config.server.git.private-key spring.cloud.config.server.git.repos.{repoName}.private-key |
如果身份验证类型为 SSH ,则为有效的 SSH 私钥。 |
host key |
spring.cloud.config.server.git.host-key spring.cloud.config.server.git.repos.{repoName}.host-key |
如果身份验证类型为 SSH ,则为有效的 SSH 主机密钥。 如果还设置了 host-key-algorithm ,则必须设置。 |
host key algorithm |
spring.cloud.config.server.git.host-key-algorithm spring.cloud.config.server.git.repos.{repoName}.host-key-algorithm |
如果身份验证类型为 ssh-dss ,则为 ssh-rsa 、ssh-ed25519 、ecdsa-sha2-nistp256 、ecdsa-sha2-nistp384 、ecdsa-sha2-nistp521 或 SSH 之一。 如果还设置了主机密钥,则必须设置此项。 |
有关其他 Config Server 属性,请参阅连接到 Azure 容器应用中的托管 Config Server for Spring 的配置选项部分。
将应用程序部署到 Azure 容器应用
在本地测试应用程序后,可以将新映像部署到 Azure 容器应用应用程序。
- Azure 门户
- Azure CLI
使用以下步骤部署:
- 在 Azure 门户中导航到 Azure 容器应用应用程序。
- 在菜单中,选择“应用程序”“容器”。>
- 选择“编辑并部署”以打开“创建和部署新修订”页。
- 在“容器映像”部分中,选择该映像,然后选择“编辑”。
- 在“编辑容器”部分的“属性”选项卡上,选择应用程序的新映像。
- 在“环境变量”选项卡上,对于“名称”,指定 spring.application.name。 然后,对于“源”,选择“手动输入”并指定应用程序使用配置的配置文件名称。
- 选择“保存”以部署新修订。
故障排除
可以使用 Log Analytics 在 Azure 容器应用中查看适用于 Spring 的托管配置服务器的日志。 使用以下步骤:
在 Azure 门户中导航到 Azure 容器应用环境。
选择“监视”“日志”菜单。>
若要查看日志,请在
ContainerAppSystemLogs_CL
表的查询编辑器中输入查询,如以下示例所示:ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudConfig" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
有关查询日志的详细信息,请参阅 Azure 容器应用中托管 Java 组件的可观测性。