Partager via


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 :

  1. Créez un serveur Eureka pour Spring.
  2. Créez une Administration pour Spring et liez-la au serveur Eureka.
  3. Liez d’autres applications au serveur Eureka pour simplifier la découverte et la gestion des services.

Prérequis

À 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.

  1. 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.
  2. Connectez-vous à Azure avec Azure CLI.

    az login
    
  3. Créez un groupe de ressources.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. 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.

  1. 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 valeur AssignableScopes par votre propre ID d’abonnement.

  2. 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)
    
  3. 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
    
  4. 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
    
  5. 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.

    Capture d’écran du tableau de bord Administration pour Spring.

    Capture d’écran du tableau de bord Serveur Eureka pour Spring.

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