Migración del servicio de configuración de aplicaciones a la instancia administrada de Spring Cloud Config Server
Nota:
Los planes de Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retiro de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan de consumo estándar y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para obtener más información, consulte Migrar el plan de consumo y dedicado Azure Spring Apps Standard a Azure Container Apps.
Este artículo se aplica a: ❎ Básico/Estándar ✅ Enterprise
En este artículo se describe cómo migrar del Servicio de configuración de aplicaciones (ACS) a Spring Cloud Config Server al usar el plan Enterprise de Azure Spring Apps con aplicaciones Java.
Spring Cloud Config Server proporciona un servicio de configuración centralizado que las aplicaciones pueden usar para capturar propiedades de configuración de orígenes externos, como los repositorios de Git.
Aprovisionamiento de Spring Cloud Config Server
Si tiene una instancia del plan Enterprise de Azure Spring Apps con Application Configuration Service habilitado, el primer paso para migrar de ACS a Spring Cloud Config Server es aprovisionar el servidor de configuración en el entorno de Azure Spring Apps. Puede hacerlo mediante Azure Portal o la CLI de Azure.
Siga estos pasos para habilitar Spring Cloud Config Server:
- Vaya a la instancia empresarial de Azure Spring Apps en Azure Portal.
- En el menú, seleccione Spring Cloud Config Server.
- Seleccione Administrar para ver si Spring Cloud Config Server está habilitado. Si no es así, habilítelo y, a continuación, seleccione Aplicar para guardar la configuración.
- Después de actualizar correctamente, puede ver que el estado de aprovisionamiento del servidor de configuración es Correcto en la pestaña Información general.
Configuración de Spring Cloud Config Server
Después de aprovisionar Spring Cloud Config Server, el siguiente paso es configurarlo para la aplicación para garantizar una migración sin problemas.
Siga estos pasos para configurar Spring Cloud Config Server en Azure Portal:
En la instancia de Azure Spring Apps, vaya a Spring Cloud Config Server.
En la pestaña Configuración, asigne las configuraciones de todos los repositorios de ACS a Spring Cloud Config Server.
Si solo tiene un repositorio en ACS, asígnelo al repositorio predeterminado de Spring Cloud Config Server sin nombres ni patrones. Si tiene varios repositorios en ACS, elija uno como repositorio predeterminado para Spring Cloud Config Server y use los otros como repositorios adicionales. Migre las propiedades, como
uri
,label
,search path
,name
yauthentication
de ACS a Spring Cloud Config Server.Después de las configuraciones de asignación, seleccione Validar para comprobar la configuración.
Después de la validación correcta, seleccione Aplicar para finalizar la configuración de Spring Cloud Config Server.
Para aplicar los cambios, en la pestaña Enlace de aplicaciones, seleccione Enlazar aplicación y, a continuación, seleccione todas las aplicaciones para usar Spring Cloud Config Server.
Para migrar la propiedad pattern
de ACS, es importante asegurarse de que el nombre de la aplicación de Azure Spring Apps coincide con el nombre del archivo de configuración en el repositorio de Git.
- Si el nombre de la aplicación de Azure Spring Apps coincide con el nombre del archivo de configuración, Spring Cloud Config Server aplica automáticamente el archivo de configuración con el nombre coincidente a la aplicación, sin necesidad de configuración adicional.
- Si los nombres no coinciden, debe crear una nueva aplicación que tenga como nombre el del archivo de configuración.
Para conocer más configuraciones, consulte el documento sobre Spring Cloud Config Server.
Actualización de la configuración de la aplicación
Debido a las diferencias en los mecanismos de implementación entre ACS y Config Server, se requieren algunos cambios en la configuración de las aplicaciones para adaptarse a la forma en que se capturan las configuraciones.
Después de aprovisionar y configurar Spring Cloud Config Server, debe ajustar la configuración mediante los pasos siguientes:
Actualice las dependencias de Spring Boot agregando las siguientes dependencias de Spring Cloud necesarias al archivo pom.xml para Maven o al archivo build.gradle para Gradle.
Configure el perfil.
En ACS, se proporciona el perfil como patrones en una implementación de Azure Spring Apps, mientras que en Spring Cloud Config Server, se configura el perfil en el código fuente de una aplicación.
Asegúrese de que la aplicación usa los perfiles correctos (
dev
,prod
, etc.) para que Spring Cloud Config Server pueda proporcionar configuraciones específicas del entorno.Actualice el archivo bootstrap.yml o application.yml de la aplicación con las propiedades de configuración correctas para que apunten a Spring Cloud Config Server, como se muestra en el ejemplo siguiente:
spring: cloud: config: profile: dev
Asegúrese de que el nombre de la aplicación de Azure Spring Apps coincida con el nombre del archivo de configuración en el repositorio de Git. Además, evite configurar
spring.application.name
en el código de la aplicación.
Volver a implementar la aplicación
Después de probar la aplicación localmente, puede volver a implementarla en Azure Spring Apps para usar Spring Cloud Config Server mediante el siguiente comando de la CLI de Azure:
az spring app deploy \
--name <app-name> \
--artifact-path <path-to-your-app> \
--config-file-patterns '""'
Con el parámetro --config-file-patterns '""'
, se limpia la referencia del servicio de configuración de aplicaciones de la aplicación. La aplicación consume la configuración a través de Spring Cloud Config Server en lugar del servicio de configuración de aplicaciones.
Deshabilitación del servicio de configuración de aplicaciones
Una vez que todas las aplicaciones terminen de migrar a Spring Cloud Config Server, puede desenlazarlas del servicio de configuración de aplicaciones y deshabilitar ACS.
- En la instancia de Azure Spring Apps, vaya a Servicio de configuración de aplicaciones.
- Abra la pestaña Enlace de aplicaciones y, a continuación, seleccione cada aplicación enlazada para desenlazarla.
- Una vez que todas las aplicaciones estén desenlazadas, seleccione Administrar para deshabilitar el servicio de configuración de aplicaciones.
Siguiendo cuidadosamente estos pasos, puede garantizar una migración sin problemas y usar las ventajas de Spring Cloud Config Server en Azure Spring Apps.
Limitación conocida
La migración de ACS a Spring Cloud Config Server solo se aplica a las aplicaciones Java porque ACS administra la configuración mediante el uso del elemento ConfigMap
nativo de Kubernetes. Este método permite actualizaciones de configuración dinámicas en entornos de Kubernetes, lo que hace que sea versátil para diferentes aplicaciones con varios lenguajes de programación. Spring Cloud Config Server está diseñado principalmente para aplicaciones Java, usando características de Spring Framework, por lo que solo admite la administración de configuraciones para Java.