Delen via


Zelfstudie: Beheerder voor Spring integreren met Eureka Server voor Spring in Azure Container Apps

In deze zelfstudie wordt u begeleid bij het integreren van een beheerde beheerder voor Spring met een Eureka-server voor Spring in Azure Container Apps.

Dit artikel bevat inhoud die vergelijkbaar is met de zelfstudie Verbinding maken met een beheerde beheerder voor Spring in Azure Container Apps, maar met Eureka Server voor Spring kunt u Beheerder voor Spring verbinden met Eureka Server voor Spring, zodat deze toepassingsinformatie kan ophalen via Eureka, in plaats van afzonderlijke toepassingen te binden aan Admin for Spring.

Door deze handleiding te volgen, stelt u een Eureka-server in voor servicedetectie en maakt u vervolgens een beheerder voor Spring voor het beheren en bewaken van uw Spring-toepassingen die zijn geregistreerd bij de Eureka-server. Deze installatie zorgt ervoor dat andere toepassingen alleen verbinding hoeven te maken met de Eureka-server, waardoor het beheer van uw microservices wordt vereenvoudigd.

In deze zelfstudie leert u het volgende:

  1. Maak een Eureka-server voor spring.
  2. Maak een beheerder voor Spring en koppel deze aan de Eureka-server.
  3. Bind andere toepassingen aan de Eureka-server voor gestroomlijnde servicedetectie en -beheer.

Vereisten

Overwegingen

Houd rekening met de volgende details bij het uitvoeren van beheerde Java-onderdelen in Azure Container Apps:

Artikel Uitleg
Bereik Onderdelen worden uitgevoerd in dezelfde omgeving als de verbonden container-app.
Schalen Het onderdeel kan niet worden geschaald. De schaaleigenschappen minReplicas en maxReplicas beide zijn ingesteld op 1.
Resources De toewijzing van containerresources voor onderdelen is opgelost. Het aantal CPU-kernen is 0,5 en de geheugengrootte is 1 Gi.
Prijzen Facturering van onderdelen valt onder de prijzen op basis van verbruik. Resources die door beheerde onderdelen worden verbruikt, worden gefactureerd tegen de actieve/niet-actieve tarieven. U kunt onderdelen verwijderen die niet meer worden gebruikt om de facturering te stoppen.
Binding Container-apps maken verbinding met een onderdeel via een binding. De bindingen injecteren configuraties in omgevingsvariabelen voor container-apps. Nadat een binding tot stand is gebracht, kan de container-app de configuratiewaarden van omgevingsvariabelen lezen en verbinding maken met het onderdeel.

Instellingen

Voordat u begint, maakt u de benodigde resources door de volgende opdrachten uit te voeren.

  1. Maak variabelen ter ondersteuning van uw toepassingsconfiguratie. Deze waarden worden voor u verstrekt voor de doeleinden van deze les.

    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"
    
    Variabele Beschrijving
    LOCATION De Azure-regiolocatie waar u uw container-app en Java-onderdelen maakt.
    RESOURCE_GROUP De naam van de Azure-resourcegroep voor uw demotoepassing.
    ENVIRONMENT De naam van de Azure Container Apps-omgeving voor uw demotoepassing.
    EUREKA_COMPONENT_NAME De naam van het Eureka Server Java-onderdeel.
    ADMIN_COMPONENT_NAME De naam van het onderdeel Admin for Spring Java.
    CLIENT_APP_NAME De naam van de container-app die is gekoppeld aan de Eureka-server.
    CLIENT_IMAGE De containerinstallatiekopieën die worden gebruikt in uw Eureka Server-container-app.
  2. Meld u aan bij Azure met de Azure CLI.

    az login
    
  3. Maak een resourcegroep.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Maak uw container-apps-omgeving.

    az containerapp env create \
        --name $ENVIRONMENT \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --query "properties.provisioningState"
    

    Met behulp van de --query parameter wordt het antwoord gefilterd op een eenvoudig succes- of foutbericht.

Optioneel: De Eureka-server voor spring maken

Als u geen bestaande Eureka-server voor Spring hebt, volgt u de onderstaande opdracht om het Java-onderdeel Eureka Server te maken. Zie De Eureka-server voor spring maken voor meer informatie.

az containerapp env java-component eureka-server-for-spring create \
    --environment $ENVIRONMENT \
    --resource-group $RESOURCE_GROUP \
    --name $EUREKA_COMPONENT_NAME

De onderdelen aan elkaar binden

Maak het onderdeel Admin voor Spring Java.

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

Andere apps verbinden met de Eureka-server

Als de Eureka-server is ingesteld, kunt u er nu andere toepassingen aan binden voor servicedetectie. En u kunt deze toepassingen ook bewaken en beheren in het dashboard van Admin voor Spring. Gebruik de volgende stappen om een container-app te maken en te binden aan de Eureka-server:

Maak de container-app en bind deze aan de Eureka-server.

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 

Tip

Aangezien de vorige stappen de admin for Spring-component aan de Eureka-server voor het Spring-onderdeel hebben gebonden, schakelt het beheeronderdeel servicedetectie in en kunt u dit tegelijkertijd beheren via het Beheer voor Spring-dashboard.

De dashboards weergeven

Belangrijk

Als u het dashboard wilt weergeven, moet u ten minste de Microsoft.App/managedEnvironments/write rol hebben toegewezen aan uw account in de beheerde omgevingsresource. U kunt de resource expliciet toewijzen Owner of Contributor rollen toewijzen of de stappen volgen om een aangepaste roldefinitie te maken en deze toe te wijzen aan uw account.

  1. Maak de aangepaste roldefinitie.

    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>"]
    }'
    

    Zorg ervoor dat u de <SUBSCRIPTION_ID> tijdelijke aanduiding in de AssignableScopes waarde vervangt door uw abonnements-id.

  2. Wijs de aangepaste rol toe aan uw account voor een beheerde omgevingsresource.

    Haal de resource-id van de beheerde omgeving op.

    export ENVIRONMENT_ID=$(az containerapp env show \
        --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \
        --query id \
        --output tsv)
    
  3. Wijs de rol toe aan uw account.

    Voordat u deze opdracht uitvoert, vervangt u de tijdelijke aanduiding door uw <USER_OR_SERVICE_PRINCIPAL_ID> gebruikers- of service-principal-id.

    az role assignment create \
        --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \
        --role "Java Component Dashboard Access" \
        --scope $ENVIRONMENT_ID
    
  4. Haal de URL van de beheerder voor Spring-dashboard op.

    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. Haal de URL van de Eureka-server voor springdashboard op.

    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
    

    Met deze opdracht wordt de URL geretourneerd die u kunt gebruiken voor toegang tot de Eureka-server voor springdashboard. Via het dashboard is uw container-app ook aan u gekoppeld, zoals wordt weergegeven in de volgende schermopname.

    Schermopname van het dashboard Beheerder voor Spring.

    Schermopname van het Eureka Server voor Spring-dashboard.

Resources opschonen

De resources die in deze zelfstudie zijn gemaakt, hebben een effect op uw Azure-factuur. Als u deze services niet op de lange termijn gaat gebruiken, voert u de volgende opdracht uit om alles te verwijderen dat in deze zelfstudie is gemaakt.

az group delete --resource-group $RESOURCE_GROUP