Migrer le serveur Eureka ou Tanzu Service Registry vers le serveur Eureka géré pour Spring dans Azure Container Apps
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s’applique à :✅ Essentiel/Standard ✅ Entreprise
Cet article décrit comment migrer le serveur Eureka vers le serveur Eureka pour Spring dans Azure Container Apps.
Le serveur Eureka géré pour Spring d’Azure Container Apps offre une expérience similaire à Azure Spring Apps. Il vous permet de déployer des applications Spring existantes sans modifier leur code source et de les inscrire auprès du serveur Eureka géré.
Prérequis
- Une instance de plan Azure Spring Apps niveau Entreprise existante et dans laquelle le Tanzu Service Registry est activé.
- Un environnement d’application conteneur Azure existant utilisé pour déployer des applications. Pour plus d’informations, consultez Approvisionnement dans Azure Container Apps.
- Une image conteneur de l’application agissant en tant que client Eureka. Si nécessaire, vous pouvez utiliser l’exemple d’image
mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
. - Azure CLI.
Approvisionner le serveur Eureka géré pour Spring
Pour utiliser le serveur Eureka géré pour Spring, vous devez d’abord créer le composant serveur Eureka dans votre environnement Azure Container Apps.
Pour créer le serveur Eureka géré pour Spring, procédez comme suit :
Créez le serveur Eureka pour vos composants Java Spring à l’aide de la commande suivante :
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --environment $ENVIRONMENT
(Facultatif) : pour mettre à jour la configuration du composant Java Serveur Eureka pour Spring, utilisez la commande suivante :
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
Lorsque vous supprimez le serveur Eureka géré via le portail Azure, Azure Container Apps annule automatiquement la liaison de toutes les container apps inscrites auprès de celui-ci et supprime le serveur Eureka géré. Ce comportement diffère du plan Entreprise Azure Spring Apps, où vous devez dissocier manuellement les services avant de supprimer Tanzu Service Registry.
Allocation des ressources et tarification
L'allocation des ressources du conteneur pour le serveur Eureka géré dans Azure Container Apps est fixée sur les valeurs suivantes :
- CPU : 0.5 processeur virtuel
- Mémoire : 1 Gi
- réplicas : 1 - non évolutif
En comparaison, le plan Entreprise Azure Spring Apps Service Registry approvisionne également des ressources fixes, mais inclut deux réplicas, chacun avec 0,5 processeur virtuel et 1 Gio de mémoire.
Contrairement aux plans Essentiel/Standard dans Azure Spring Apps, qui ne sont pas facturés, le serveur Eureka pour Spring géré dans Azure Container Apps fonctionne sous la tarification basée sur la consommation. Cette tarification est similaire à la tarification du plan Entreprise Azure Spring Apps.
Pour plus d’informations, consultez la section Considérations de Tutoriel : se connecter à un serveur Eureka géré pour Spring dans Azure Container Apps.
Déployer et lier une application
Après avoir approvisionné le serveur Eureka géré pour Spring, vous pouvez déployer votre application Spring sur Azure Container Apps et la lier au serveur Eureka. Ce processus est similaire au fonctionnement du plan Entreprise dans Azure Spring Apps. Plus précisément, vous devez lier votre application au serveur Eureka, ce qui est différent du plan Azure Spring Apps Essentiel/Standard, où aucune liaison n’est requise.
Remarque
Si vous n’utilisez pas l’exemple d’image mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest
pour déployer une application, vous devrez peut-être effectuer quelques configurations pour permettre à Azure Container Apps d’extraire des images de votre container registry. Par exemple, pour préparer les autorisations nécessaires pour extraire des images à partir d’Azure Container Registry (ACR), consultez la section Créer un Azure Container Registry du Tutoriel : générer et déployer votre application sur Azure Container Apps.
Déployer l’application
Utilisez la commande suivante pour créer une application conteneur :
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
Lier l’application
Une fois que vous avez créé l’application, vous pouvez lier l’application au serveur Eureka géré.
Utilisez la commande suivante pour lier l’application créée au serveur Eureka :
az containerapp update \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--bind $EUREKA_COMPONENT_NAME \
--query properties.configuration.ingress.fqdn
La liaison injecte plusieurs configurations dans l’application sous forme de variables d’environnement, en particulier la propriété eureka.client.service-url.defaultZone
. Cette propriété indique le point de terminaison interne du composant Java Eureka Server. Pour plus d’informations sur d’autres propriétés, consultez la section Lier votre application conteneur au composant Java Serveur Eureka pour Spring de Se connecter à un serveur Eureka géré pour Spring dans Azure Container Apps.
Si vous souhaitez dissocier votre application du serveur Eureka, consultez la section Dissocier votre application conteneur du composant Java Serveur Eureka pour Spring de Se connecter à un serveur Eureka géré pour Spring dans Azure Container Apps.
Afficher les applications inscrites avec un tableau de bord
Une fois que vous avez créé votre application et que vous l’avez liée au serveur Eureka, vous pouvez afficher les applications inscrites via un tableau de bord de gestion. Pour plus d’informations, consultez la section Afficher l’application via un tableau de bord de Se connecter à un serveur Eureka géré pour Spring dans Azure Container Apps.
La capture d’écran suivante montre un exemple de ce à quoi ressemble le tableau de bord du serveur Eureka :
Dépannage
Vous pouvez afficher les journaux d’activité du serveur Eureka géré pour Spring dans Azure Container Apps à l’aide de l’analytique des journaux d'activité, qui fonctionne de la même façon que le mécanisme de journalisation dans Azure Spring Apps.
Pour afficher les journaux d'activité du serveur Eureka géré pour Spring dans Azure Container Apps, procédez comme suit :
Rendez-vous sur la page de l’environnement d’application conteneur.
Rendez-vous sur Surveillance>options de journalisation et, sous destination des journaux d'activité, vérifiez que l’option Azure Log Analytics est sélectionnée.
Rendez-vous sur Surveillance>Journaux d'activité.
(Facultatif) Si l’étendue Log Analytics ne correspond pas à celle configurée dans options de journalisation, sélectionnez Sélectionner l’étendue pour choisir l’espace de travail Log Analytics approprié.
Entrez votre requête dans l’éditeur de requête pour afficher les journaux d'activité à partir du tableau ContainerAppSystemLogs_CL, comme indiqué dans l’exemple suivant :
ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudEureka" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
Pour plus d’informations sur l’interrogation des journaux d'activité à l’aide d’Azure CLI, consultez Surveiller les journaux d'activité dans Azure Container Apps avec Log Analytics.
Limitations connues
- Accès externe : le serveur Eureka géré pour Spring dans Azure Container Apps n’est pas accessible en externe.
- Trafic de révision : dans le mode de révision multiple d’Azure Container Apps, tous les réplicas de l’application inscrite dans Eureka reçoivent le trafic.
Plus de ressources
Pour plus d’informations sur la gestion du serveur Eureka dans Azure Container Apps, consultez Tutoriel : se connecter à un Serveur Eureka géré pour Spring dans Azure Container Apps.