Перенос службы конфигурации приложений на управляемый сервер конфигурации Spring Cloud
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к: ❎ Basic/Standard ✅ Enterprise
В этой статье описывается, как перенести службу конфигурации приложений (ACS) на сервер конфигурации Spring Cloud при использовании плана Azure Spring Apps Enterprise с приложениями Java.
Spring Cloud Config Server предоставляет централизованную службу конфигурации, которую приложения могут использовать для получения свойств конфигурации из внешних источников, таких как репозитории Git.
Подготовка сервера конфигурации Spring Cloud
Если у вас есть экземпляр плана Azure Spring Apps Enterprise с включенной службой конфигурации приложений, первым шагом при переходе с ACS на Сервер конфигурации Spring Cloud является подготовка сервера конфигурации в среде Azure Spring Apps. Его можно подготовить с помощью портал Azure или Azure CLI.
Чтобы подготовить сервер конфигурации Spring Cloud, выполните следующие действия.
- Перейдите к корпоративному экземпляру Azure Spring Apps в портал Azure.
- В меню выберите Spring Cloud Config Server.
- Выберите "Управление" , чтобы узнать, включен ли сервер конфигурации Spring Cloud. Если это не так, включите его и нажмите кнопку "Применить для сохранения".
- После успешного обновления вы увидите состояние подготовки сервера конфигурации успешно выполнено на вкладке "Обзор ".
Настройка сервера конфигурации Spring Cloud
После подготовки сервера конфигурации Spring Cloud необходимо настроить его для приложения, чтобы обеспечить плавную миграцию.
Чтобы настроить сервер конфигурации Spring Cloud в портал Azure, выполните следующие действия.
В экземпляре Azure Spring Apps перейдите к серверу конфигурации Spring Cloud.
На вкладке "Параметры" сопоставляйте конфигурации всех репозиториев ACS с Сервером конфигурации Spring Cloud.
Если в ACS есть только один репозиторий, сопоставьте его с репозиторием по умолчанию для Сервера конфигурации Spring Cloud без имен и шаблонов. Если у вас несколько репозиториев в ACS, выберите один репозиторий в качестве репозитория по умолчанию для Сервера конфигурации Spring Cloud и используйте другие в качестве дополнительных репозиториев. Перенос свойств, включая
uri
, ,name
label
search path
иauthentication
из ACS в Сервер конфигурации Spring Cloud.После настройки сопоставления выберите "Проверить ", чтобы проверить конфигурацию.
После успешной проверки нажмите кнопку "Применить ", чтобы завершить настройку сервера конфигурации Spring Cloud.
Чтобы применить изменения, на вкладке привязки приложения выберите "Привязка приложения", а затем выберите все приложения для использования сервера конфигурации Spring Cloud.
Чтобы перенести свойство pattern
ACS, важно убедиться, что имя приложения Azure Spring Apps соответствует имени файла конфигурации в репозитории Git.
- Если имя приложения Azure Spring Apps совпадает с именем файла конфигурации, Сервер конфигурации Spring Cloud автоматически применяет файл конфигурации с соответствующим именем к приложению, не требуя дополнительной настройки.
- Если имена не совпадают, необходимо создать приложение с именем в качестве имени файла конфигурации.
Дополнительные конфигурации см. в документе сервера конфигурации Spring Cloud.
Обновление конфигурации приложения
Из-за различий в механизмах реализации между ACS и Config Server некоторые изменения конфигурации приложения необходимы для адаптации к конфигурации способов получения.
После подготовки и настройки сервера конфигурации Spring Cloud необходимо настроить конфигурацию, выполнив следующие действия.
Обновите зависимости Spring Boot, добавив следующие необходимые зависимости конфигурации Spring Cloud в файл pom.xml для Maven или файла build.gradle для Gradle.
Настройте профиль.
В ACS вы предоставляете профиль в виде шаблонов в развертывании Azure Spring Apps, в то время как в Spring Cloud Config Server вы настраиваете профиль в исходном коде приложения.
Убедитесь, что приложение использует правильные профили (
dev
prod
и т. д.), чтобы сервер Конфигурации Spring Cloud может обслуживать конфигурации для конкретной среды.Обновите файл bootstrap.yml или application.yml в приложении с правильными свойствами конфигурации, чтобы указать сервер конфигурации Spring Cloud, как показано в следующем примере:
spring: cloud: config: profile: dev
Убедитесь, что имя приложения Azure Spring Apps соответствует имени файла конфигурации в репозитории Git. Кроме того, избегайте настройки
spring.application.name
в коде приложения.
Повторное развертывание приложения
После локального тестирования приложения вы можете повторно развернуть его в Azure Spring Apps, чтобы использовать сервер конфигурации Spring Cloud с помощью следующей команды Azure CLI:
az spring app deploy \
--name <app-name> \
--artifact-path <path-to-your-app> \
--config-file-patterns '""'
С --config-file-patterns '""'
помощью параметра она очищает ссылку службы конфигурации приложений из приложения. Приложение использует конфигурацию с помощью сервера конфигурации Spring Cloud, а не службы конфигурации приложений.
Отключение службы конфигурации приложений
После завершения миграции всех приложений на сервер конфигурации Spring Cloud можно отменить привязку этих приложений к службе конфигурации приложений и отключить ACS.
- В экземпляре Azure Spring Apps перейдите в службу конфигурации приложений
- Откройте вкладку привязки приложения, а затем выберите каждое привязанное приложение для отмены привязки.
- После отмены подключения всех приложений выберите "Управление ", чтобы отключить службу конфигурации приложений.
Тщательно выполнив эти действия, вы можете обеспечить плавную миграцию и использовать преимущества Сервера конфигурации Spring Cloud в Azure Spring Apps.
Известные ограничения
Перенос ACS на сервер конфигурации Spring Cloud применяется только для приложений Java, так как ACS управляет конфигурацией с помощью собственного ConfigMap
Kubernetes. Этот метод включает динамические обновления конфигурации в средах Kubernetes, что делает его универсальным для различных приложений с несколькими языками программирования. Сервер конфигурации Spring Cloud в основном предназначен для приложений Java с помощью функций Spring Framework, поэтому он поддерживает только управление конфигурацией для Java.