Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce guide de démarrage rapide, vous allez apprendre à déployer une application dans Azure Container Apps qui utilise des composants Java pour gérer la gestion de la configuration, la découverte de services et l’intégrité et les métriques. L’exemple d’application utilisé dans cet exemple est Java PetClinic, qui utilise le modèle d’architecture de microservices. Le diagramme suivant illustre l’architecture de l’application PetClinic sur Azure Container Apps :
L'application PetClinic propose les fonctionnalités suivantes :
- Le serveur frontal est une application web autonome Node.js hébergée sur l’application passerelle d’API.
- La passerelle d’API achemine les demandes vers les applications de service back-end.
- Les applications principales sont créées avec Spring Boot.
- Chaque application principale utilise une base de données HyperSQL comme magasin persistant.
- Les applications utilisent des composants Java managés sur Azure Container Apps, notamment un registre de services, un serveur de configuration et un serveur d’administration.
- Le serveur de configuration lit les données à partir d’un référentiel Git.
- Un espace de travail Log Analytics journalise les données du serveur.
Dans ce tutoriel, vous allez :
- Créer un serveur de configuration, un serveur Eureka, un serveur d’administration et des composants d’administration
- Créer une série d’applications de microservices
- Lier les composants serveur à vos applications de microservices
- Déployer la collection d’applications
- Vérifier les applications déployées
À la fin de cet article, vous déployez une application web et trois applications principales qui sont configurées pour fonctionner avec trois composants Java différents. Vous pouvez ensuite gérer chaque composant via le portail Azure.
Prérequis
- Compte Azure : Si vous n’avez pas de compte Azure, créez-en un gratuitement. Vous avez besoin de l’autorisation Contributeur ou Propriétaire sur l’abonnement Azure pour utiliser ce démarrage rapide. Pour plus d'informations, consultez Attribuer des rôles Azure en utilisant le portail Azure.
- Azure CLI : installez l'interface Azure CLI.
- Extension CLI d'Azure Container Apps. Utilisez la version 0.3.47 ou ultérieure. Utilisez la commande
az extension add --name containerapp --upgrade --allow-previewpour installer la dernière version.
Programme d’installation
Pour créer des variables d’environnement, un groupe de ressources et un environnement Azure Container Apps, procédez comme suit :
Les variables d’environnement contiennent vos valeurs personnalisées. Remplacez donc les valeurs d’espace réservé entourées de
<>par vos propres valeurs avant d’exécuter les commandes suivantes :export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>Vous créez maintenant d’autres variables d’environnement qui contiennent les paramètres de votre application de microservices. Ces valeurs sont utilisées pour définir les noms et les configurations des composants Java et d’Azure Container Apps que vous utilisez pour déployer les microservices. Créez ces variables d’environnement à l’aide des commandes suivantes :
export CONFIG_SERVER_COMPONENT=configserver export ADMIN_SERVER_COMPONENT=admin export EUREKA_SERVER_COMPONENT=eureka export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git export CUSTOMERS_SERVICE=customers-service export VETS_SERVICE=vets-service export VISITS_SERVICE=visits-service export API_GATEWAY=api-gateway export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gatewayConnectez-vous à Azure CLI et sélectionnez votre abonnement actif à l’aide de la commande suivante :
az loginCréez un groupe de ressources pour organiser vos services Azure à l’aide de la commande suivante :
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONCréez votre environnement Azure Container Apps, qui héberge à la fois les composants Java et vos applications conteneur, à l’aide de la commande suivante :
az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
Créer des composants Java
Vous créez maintenant les composants Java suivants qui prennent en charge votre application :
- Serveur de configuration. Utilisé pour gérer les paramètres de configuration de vos applications de microservices.
- Serveur Eureka. Utilisé pour gérer le registre et la découverte de services.
- Serveur d’administration. Utilisé pour surveiller et gérer l’intégrité et les métriques de vos applications de microservices.
Pour créer ces composants serveur, procédez comme suit :
Créez le serveur de configuration pour vos composants Java à l’aide de la commande suivante :
az containerapp env java-component config-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $CONFIG_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URICréez le serveur Eureka pour vos composants Java à l’aide de la commande suivante :
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \Créez le serveur d'administration pour vos composants Java à l’aide de la commande suivante :
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Déployer des applications de microservices
Pour déployer les applications de microservices Java sur Azure Container Apps à l’aide des images conteneur prédéfinies, procédez comme suit :
Remarque
Dans cet article, vous utilisez une série d’images générées pour les applications de microservice Spring Petclinic. Vous avez également la possibilité de personnaliser l’exemple de code et d’utiliser vos propres images. Pour plus d’informations, consultez le référentiel GitHub azure-container-apps-java-samples.
Créez l’application de données client à l’aide de la commande suivante :
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGECréez l'application vétérinaire à l’aide de la commande suivante :
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGECréez l'application de visites à l’aide de la commande suivante :
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGECréez l’application de passerelle d’API à l’aide de la commande suivante :
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $API_GATEWAY_IMAGE \ --ingress external \ --target-port 8080 \ --query properties.configuration.ingress.fqdn
Lier des applications conteneur à des composants Java
Ensuite, liez les composants Java à vos applications conteneur. Les liaisons que vous créez dans cette section fournissent les fonctionnalités suivantes :
- Injectez des données de configuration dans chaque application à partir du serveur de configuration managé au démarrage.
- Inscrivez l’application auprès du serveur Eureka géré pour la découverte du service.
- Activez le serveur d’administration pour surveiller l’application.
Utilisez la commande containerapp update pour créer des liaisons pour chaque application en procédant comme suit :
Ajoutez des liaisons à l’application de données client à l’aide de la commande suivante :
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAjoutez des liaisons au service vétérinaire à l’aide de la commande suivante :
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAjoutez des liaisons au service de visites à l’aide de la commande suivante :
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAjoutez des liaisons à la passerelle d’API. Utilisez la commande suivante pour retourner l’URL de l’application frontale, puis ouvrez cet emplacement dans votre navigateur :
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \ --query properties.configuration.ingress.fqdn
Vérifier l’état de l’application
Pour vérifier le statut de l'application, procédez comme suit :
À l’aide de l’URL retournée à partir de la commande
az containerapp updatede la passerelle d'API, affichez l’application frontale dans votre navigateur. L'application doit ressembler à la capture d’écran suivante :Affichez le tableau de bord du serveur Eureka en procédant comme suit :
Important
Pour afficher le tableau de bord du serveur Eureka et le tableau de bord Administration gérée pour Spring, vous devez disposer au moins du rôle
Microsoft.App/managedEnvironments/writeattribué à votre compte sur la ressource d’environnement managé. Vous pouvez attribuer explicitement le rôleOwnerouContributorsur la ressource. Vous pouvez également suivre les étapes pour créer une définition de rôle personnalisé et l’attribuer à votre compte.Exécutez la commande suivante pour retourner l’URL du tableau de bord :
az containerapp env java-component eureka-server-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnOuvrez l’URL dans votre navigateur. Vous devez voir une application qui ressemble à la capture d’écran suivante :
Affichez le tableau de bord Administration gérée pour Spring en procédant comme suit :
Exécutez la commande suivante pour retourner l'URL du tableau de bord :
az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnOuvrez l’URL dans votre navigateur. Vous devez voir une application qui ressemble à la capture d’écran suivante :
Facultatif : Configurer des composants Java
Vous pouvez configurer les composants Java créés dans ce guide de démarrage rapide via le portail Azure à l’aide de la section Configurations.
Pour plus d’informations sur la configuration des trois composants Java que vous avez créés dans ce guide de démarrage rapide, consultez les liens suivants :
Nettoyer les ressources
Les ressources créées dans ce démarrage rapide ont un effet sur votre facture Azure. Si vous n’allez pas utiliser ces services à long terme, utilisez la commande suivante pour supprimer tout ce qui a été créé dans ce démarrage rapide :
az group delete --resource-group $RESOURCE_GROUP