Migración del Servidor Eureka o el Registro de servicios de Tanzu a un servidor Eureka administrado para Spring en Azure Container Apps
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: Enterprise ✅ Básico/Estándar ✅
En este artículo se describe cómo migrar el Servidor Eureka al Servidor Eureka para Spring en Azure Container Apps.
El Servidor Eureka administrado para Spring de Azure Container Apps ofrece una experiencia similar a Azure Spring Apps. Permite implementar aplicaciones de Spring existentes sin modificar su código fuente y registrarlas con el Servidor Eureka administrado.
Requisitos previos
- Una instancia de plan Enterprise de Azure Spring Apps existente con el Registro de servicios de Tanzu habilitado.
- Un entorno de aplicación contenedora de Azure existente que se usa para implementar aplicaciones. Para más información, consulte Aprovisionamiento de Azure Container Apps.
- Imagen de contenedor de la aplicación que actúa como cliente de Eureka. Si es necesario, puede usar la imagen de ejemplo
mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
. - Azure CLI.
Aprovisionamiento de un Servidor Eureka administrado para Spring
Para usar el Servidor Eureka administrado para Spring, primero debe crear el componente del Servidor Eureka en el entorno de Azure Container Apps.
Para crear el Servidor Eureka administrado para Spring, siga estos pasos:
Para crear el componente de Java Servidor Eureka para Spring, use este comando:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT
(Opcional) Para actualizar la configuración del componente de Java Servidor Eureka para Spring, use este comando:
az containerapp env java-component eureka-server-for-spring update \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT \ --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
Al eliminar el Servidor Eureka administrado a través de Azure Portal, Azure Container Apps desenlaza automáticamente todas las aplicaciones contenedoras registradas con él y elimina el Servidor Eureka administrado. Este comportamiento difiere del plan empresarial de Azure Spring Apps, donde debe desenlazar manualmente los servicios antes de eliminar el Registro de servicios de Tanzu.
Asignación de recursos y precios
La asignación de recursos de contenedor para el Servidor Eureka administrado en Azure Container Apps se fija en los valores siguientes:
- CPU: 0,5 vCPU
- Memoria: 1 Gi
- Réplicas: 1 - no escalable
En comparación, el Registro de servicios del plan Enterprise de Azure Spring Apps también aprovisiona recursos fijos, pero incluye dos réplicas, cada una con 0,5 vCPU y 1 Gi de memoria.
A diferencia de los planes Básico/Estándar de Azure Spring Apps, que no se cobran, el Servidor Eureka administrado para Spring en Azure Container Apps funciona con precios basados en el consumo. Este precio es similar al del plan Enterprise de Azure Spring Apps.
Para más información, consulte la sección Consideraciones del Tutorial: Conexión a un servidor Eureka administrado para Spring en Azure Container Apps.
Implementación y enlace de una aplicación
Después de aprovisionar el Servidor Eureka administrado para Spring, puede implementar la aplicación Spring en Azure Container Apps y enlazarla al Servidor Eureka. Este proceso es similar al funcionamiento del plan Enterprise en Azure Spring Apps. En concreto, debe enlazar la aplicación al Servidor Eureka, que es diferente del plan Básico o Estándar de Azure Spring Apps, donde no se requiere ningún enlace.
Nota:
Si no usa la imagen de ejemplo mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
para implementar una aplicación, es posible que tenga que realizar alguna configuración para permitir que Azure Container Apps extraiga imágenes del registro de contenedor. Por ejemplo, para preparar los permisos necesarios para extraer imágenes de Azure Container Registry (ACR), consulte la sección Creación de una instancia de Azure Container Registry del Tutorial: Compilación e implementación de la aplicación en Azure Container Apps.
Implementación de la aplicación
Use el comando siguiente para crear una aplicación contenedora:
az containerapp create \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--environment $ENVIRONMENT \
--image $IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Enlace de la aplicación
Después de crear correctamente la aplicación, puede enlazar la aplicación al Servidor Eureka administrado.
Use el siguiente comando para enlazar la aplicación creada al Servidor Eureka:
az containerapp update \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--bind $EUREKA_COMPONENT_NAME \
--query properties.configuration.ingress.fqdn
El enlace inserta varias configuraciones en la aplicación como variables de entorno, principalmente la propiedad eureka.client.service-url.defaultZone
. Esta propiedad indica el punto de conexión interno del componente Java del servidor Eureka. Para obtener más información sobre otras propiedades, consulte la sección Enlace de la aplicación contenedora al componente de Java Servidor Eureka para Spring de Conexión a un Servidor Eureka administrado para Spring en Azure Container Apps.
Si necesita desenlazar la aplicación desde el Servidor Eureka, consulte la sección Desenlace la aplicación contenedora del componente de Java Servidor Eureka para Spring de Conexión a un servidor Eureka administrado para Spring en Azure Container Apps.
Visualización de las aplicaciones registradas con un panel
Después de crear correctamente la aplicación y enlazarla al Servidor Eureka, puede ver las aplicaciones registradas a través de un panel de administración. Para más información, consulte la sección Visualización de la aplicación a través de un panel de Conexión a un servidor Eureka administrado para Spring en Azure Container Apps.
En el recorte de pantalla siguiente, se muestra un ejemplo del aspecto del panel del Servidor Eureka:
Solución de problemas
Puede ver los registros del servidor Eureka administrado para Spring en Azure Container Apps mediante Log Analytics, que funciona de forma similar al mecanismo de registro en Azure Spring Apps.
Para ver los registros del Servidor Eureka administrado para Spring en Azure Container Apps, siga estos pasos:
Vaya a la página Entorno de la aplicación contenedora.
Vaya a Supervisión>Opciones de registro y, en Destinos de registro, asegúrese de que Azure Log Analytics esté seleccionado.
Vaya a Supervisión>Registros.
(Opcional) Si el ámbito de Log Analytics no coincide con el ámbito configurado en Opciones de registro, haga clic en Seleccionar ámbito para elegir el área de trabajo de Log Analytics correcta.
Escriba la consulta en el editor de consultas para ver los registros de la tabla ContainerAppSystemLogs_CL, como se muestra en el ejemplo siguiente:
ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudEureka" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
Para más información sobre cómo consultar registros mediante la CLI de Azure, consulte Supervisión de registros en Azure Container Apps con Log Analytics.
Restricciones conocidas
- Acceso externo: no se puede acceder externamente al Servidor Eureka administrado para Spring en Azure Container Apps.
- Tráfico de revisión: en el modo de revisión múltiple de Azure Container Apps, todas las réplicas de la aplicación registradas en Eureka reciben tráfico.
Más recursos
Para más información sobre cómo administrar el Servidor Eureka en Azure Container Apps, consulte Tutorial: Conexión a un Servidor Eureka administrado para Spring en Azure Container Apps.