Tutoriel : intégrer Administration pour Spring à Serveur Eureka pour Spring dans Azure Container Apps
Ce tutoriel vous guide tout au long du processus d’intégration d’un composant Administration gérée pour Spring avec un serveur Eureka pour Spring dans Azure Container Apps.
Cet article contient du contenu similaire au tutoriel « Se connecter à Administration gérée pour Spring dans Azure Container Apps ». Avec Serveur Eureka pour Spring, vous pouvez toutefois lier Administration pour Spring à Serveur Eureka pour Spring, afin que ce dernier puisse obtenir des informations sur l’application via Eureka au lieu d’avoir à lier des applications individuelles à Administration pour Spring.
Dans ce guide, vous configurez un serveur Eureka pour la découverte de services, puis créez un composant Administration pour Spring pour gérer et surveiller vos applications Spring inscrites auprès du serveur Eureka. Cette configuration garantit que d’autres applications doivent uniquement être liées au serveur Eureka, ce qui simplifie la gestion de vos microservices.
Ce didacticiel vous apprend à effectuer les opérations suivantes :
- Créez un serveur Eureka pour Spring.
- Créez une Administration pour Spring et liez-la au serveur Eureka.
- Liez d’autres applications au serveur Eureka pour simplifier la découverte et la gestion des services.
Prérequis
- Compte Azure avec un abonnement actif. Si vous n'en avez pas déjà, vous pouvez en créer un gratuitement.
- Azure CLI.
- Un composant Java de serveur Eureka pour Spring existant. Si vous n’en avez pas, consultez l’article Créer le serveur Eureka pour Spring.
À propos de l’installation
Lors de l’exécution de composants Java managés dans Azure Container Apps, tenez compte des détails suivants :
Article | Explication |
---|---|
Étendue | Les composants s’exécutent dans le même environnement que l’application conteneur connectée. |
Mise à l'échelle | Le composant ne peut pas être mis à l’échelle. Les propriétés de mise à l’échelle minReplicas et maxReplicas sont toutes deux définies sur 1 . |
Ressources | L’allocation des ressources de conteneur pour les composants est fixe. Le nombre de cœurs de processeur est 0,5 et la taille de la mémoire est 1 Gi. |
Tarification | La facturation des composants est soumise à des tarifs basés sur la consommation. Les ressources consommées par les composants managés sont facturées aux taux actif/inactif. Vous pouvez supprimer les composants qui ne sont plus utilisés pour arrêter la facturation. |
Binding | Les applications conteneur se connectent à un composant via une liaison. La liaison injecte les configurations dans les variables d’environnement de l’application conteneur. Une fois la liaison établie, l’application conteneur peut lire ces valeurs de configuration à partir des variables d’environnement et se connecter au composant. |
Programme d’installation
Avant de commencer, créez les ressources nécessaires en exécutant les commandes suivantes.
Créez des variables pour prendre en charge la configuration de votre application. Ces valeurs sont fournies dans le cadre de cette leçon.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export EUREKA_COMPONENT_NAME=eureka export ADMIN_COMPONENT_NAME=admin export CLIENT_APP_NAME=sample-service-eureka-client export CLIENT_IMAGE="mcr.microsoft.com/javacomponents/samples/sample-admin-for-spring-client:latest"
Variable Description LOCATION
Emplacement de la région Azure où vous créez votre application conteneur et vos composants Java. RESOURCE_GROUP
Nom du groupe de ressources Azure de votre application de démonstration. ENVIRONMENT
Nom de l’environnement Azure Container Apps pour votre application de démonstration. EUREKA_COMPONENT_NAME
Nom du composant Java du serveur Eureka. ADMIN_COMPONENT_NAME
Nom du composant Java Administration pour Spring. CLIENT_APP_NAME
Le nom de l’application conteneur qui se lie au serveur Eureka. CLIENT_IMAGE
Image conteneur utilisée dans votre application conteneur du serveurs Eureka. Connectez-vous à Azure avec Azure CLI.
az login
Créez un groupe de ressources.
az group create --name $RESOURCE_GROUP --location $LOCATION
Créez votre environnement d’applications conteneur.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
L’utilisation du paramètre
--query
filtre la réponse à un simple message de réussite ou d’échec.
Facultatif : créer le serveur Eureka pour Spring
Si vous n’avez pas de serveur Eureka pour Spring existant, suivez la commande ci-dessous pour créer le composant Java du serveur Eureka. Pour plus d’informations, consultez l’article Créer le serveur Eureka pour Spring.
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_NAME
Lier les composants ensemble
Créez le composant Java Administration pour Spring.
az containerapp env java-component admin-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $ADMIN_COMPONENT_NAME \
--min-replicas 1 \
--max-replicas 1 \
--bind $EUREKA_COMPONENT_NAME
Lier d’autres applications au serveur Eureka
Une fois le serveur Eureka configuré, vous pouvez y lier d’autres applications pour la découverte de services. Vous pouvez également surveiller et gérer ces applications dans le tableau de bord d’Administration pour Spring. Suivez les étapes suivantes pour créer et lier une application conteneur au serveur Eureka :
Créez l’application conteneur et liez-la au serveur Eureka.
az containerapp create \
--name $CLIENT_APP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $CLIENT_IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--bind $EUREKA_COMPONENT_NAME
Conseil
Étant donné que les étapes précédentes ont lié le composant Administration pour Spring au composant Serveur Eureka pour Spring, le composant Administration active la découverte du service et vous permet dans le même temps de le gérer via le tableau de bord Administration pour Spring.
Afficher les tableaux de bord
Important
Pour afficher le tableau de bord, vous devez disposer au moins du rôle Microsoft.App/managedEnvironments/write
, celui-ci devant être attribué à votre compte sur la ressource d’environnement managé. Vous pouvez soit attribuer explicitement le rôle Owner
ou Contributor
sur la ressource, soit suivre les étapes pour créer une définition de rôle personnalisé et l’attribuer à votre compte.
Créez la définition de rôle personnalisé.
az role definition create --role-definition '{ "Name": "Java Component Dashboard Access", "IsCustom": true, "Description": "Can access managed Java Component dashboards in managed environments", "Actions": [ "Microsoft.App/managedEnvironments/write" ], "AssignableScopes": ["/subscriptions/<SUBSCRIPTION_ID>"] }'
N’oubliez pas de remplacer l’espace réservé
<SUBSCRIPTION_ID>
dans la valeurAssignableScopes
par votre propre ID d’abonnement.Attribuez le rôle personnalisé à votre compte sur la ressource d’environnement managé.
Obtenez l’ID de ressource de l’environnement managé.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
Attribuez le rôle à votre compte.
Avant d’exécuter cette commande, remplacez l’espace réservé
<USER_OR_SERVICE_PRINCIPAL_ID>
par votre ID d’utilisateur(-trice) ou de principal de service.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Obtenez l’URL du tableau de bord Administration pour Spring.
az containerapp env java-component admin-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsv
Obtenez l’URL du tableau de bord Serveur Eureka pour Spring.
az containerapp env java-component eureka-server-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsv
Cette commande retourne l’URL que vous pouvez utiliser pour accéder au tableau de bord Serveur Eureka pour Spring. Vous pouvez également voir votre application conteneur dans le tableau de bord, comme le montre la capture d’écran suivante.
Nettoyer les ressources
Les ressources créées dans ce tutoriel ont un effet sur votre facture Azure. Si vous n’allez pas utiliser ces services à long terme, exécutez la commande suivante pour supprimer tout ce qui a été créé dans ce didacticiel.
az group delete --resource-group $RESOURCE_GROUP