Delen via


Eureka Server of Tanzu Service Registry migreren naar beheerde Eureka-server voor Spring in Azure Container Apps

Notitie

De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.

Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.

Dit artikel is van toepassing op:✅ Basic/Standard ✅ Enterprise

In dit artikel wordt beschreven hoe u Eureka Server migreert naar Eureka Server voor Spring in Azure Container Apps.

De beheerde Eureka-server van Azure Container Apps voor Spring biedt een vergelijkbare ervaring als Azure Spring Apps. Hiermee kunt u bestaande Spring-toepassingen implementeren zonder hun broncode te wijzigen en ze te registreren bij de beheerde Eureka-server.

Vereisten

  • Een bestaand Azure Spring Apps Enterprise-planexemplaren waarvoor tanzu-serviceregister is ingeschakeld.
  • Een bestaande Azure-container-app-omgeving die wordt gebruikt voor het implementeren van toepassingen. Zie Azure Container Apps inrichten voor meer informatie.
  • Een containerinstallatiekopieën van de toepassing die fungeren als een Eureka-client. Indien nodig kunt u de voorbeeldafbeelding mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latestgebruiken.
  • Azure CLI.

Beheerde Eureka-server inrichten voor Spring

Als u de Managed Eureka-server voor Spring wilt gebruiken, moet u eerst het Eureka Server-onderdeel maken in uw Azure Container Apps-omgeving.

Gebruik de volgende stappen om de beheerde Eureka-server voor Spring te maken:

  1. Gebruik de volgende opdracht om de Eureka Server voor Spring Java-component te maken:

    az containerapp env java-component eureka-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_COMPONENT_NAME \
        --environment $ENVIRONMENT
    
  2. (Optioneel) Gebruik de volgende opdracht om de configuratie van de Eureka-server voor Spring Java-onderdelen bij te werken:

    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
    

Wanneer u de beheerde Eureka-server verwijdert via Azure Portal, worden in Azure Container Apps automatisch alle container-apps die ermee zijn geregistreerd, ongedaan gemaakt en wordt de beheerde Eureka-server verwijderd. Dit gedrag verschilt van het Azure Spring Apps Enterprise-plan, waarbij u handmatig debindservices moet opheffen voordat u het Tanzu Service Registry verwijdert.

Resourcetoewijzing en prijzen

De toewijzing van containerresources voor de beheerde Eureka-server in Azure Container Apps is vastgezet op de volgende waarden:

  • CPU: 0,5 vCPU
  • Geheugen: 1 Gi
  • Replica's: 1 - niet schaalbaar

Ter vergelijking: het Azure Spring Apps Enterprise Plan Service Registry richt ook vaste resources in, maar bevat twee replica's, elk met 0,5 vCPU en 1 Gi-geheugen.

In tegenstelling tot de Basic/Standard-abonnementen in Azure Spring Apps, die niet in rekening worden gebracht, werkt de beheerde Eureka-server voor Spring in Azure Container Apps onder prijzen op basis van verbruik. Deze prijzen zijn vergelijkbaar met de prijzen van het Azure Spring Apps Enterprise-abonnement.

Zie de sectie Overwegingen van zelfstudie: Verbinding maken met een beheerde Eureka-server voor Spring in Azure Container Apps voor meer informatie.

Een toepassing implementeren en binden

Nadat u de beheerde Eureka-server voor Spring hebt ingericht, kunt u uw Spring-toepassing implementeren in Azure Container Apps en deze verbinden met de Eureka-server. Dit proces is vergelijkbaar met de werking van het Enterprise-plan in Azure Spring Apps. U moet uw toepassing met name binden aan de Eureka-server. Dit verschilt van het Azure Spring Apps Basic/Standard-plan waarvoor geen binding vereist is.

Notitie

Als u de voorbeeldinstallatiekopie mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest niet gebruikt om een toepassing te implementeren, moet u mogelijk een configuratie uitvoeren om Azure Container Apps in staat te stellen installatiekopieën op te halen uit uw containerregister. Als u bijvoorbeeld de benodigde machtigingen wilt voorbereiden om installatiekopieën op te halen uit Azure Container Registry (ACR), raadpleegt u de sectie Een Azure Container Registry maken van zelfstudie: Uw app bouwen en implementeren in Azure Container Apps.

De toepassing implementeren

Gebruik de volgende opdracht om een containertoepassing te maken:

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

De toepassing binden

Nadat u de toepassing hebt gemaakt, kunt u de toepassing binden aan de beheerde Eureka-server.

Gebruik de volgende opdracht om de gemaakte toepassing te binden aan de Eureka-server:

az containerapp update \
    --resource-group $RESOURCE_GROUP \
    --name $APP_NAME \
    --bind $EUREKA_COMPONENT_NAME \
    --query properties.configuration.ingress.fqdn

De binding injecteert verschillende configuraties in de toepassing als omgevingsvariabelen, voornamelijk de eureka.client.service-url.defaultZone eigenschap. Deze eigenschap geeft het interne eindpunt van het Eureka Server Java-onderdeel aan. Zie de container-app binden aan de sectie Eureka Server voor Spring Java-onderdelen van Connect to a managed Eureka Server for Spring in Azure Container Apps voor meer informatie over andere eigenschappen.

Als u de toepassing wilt losmaken van Eureka Server, raadpleegt u de container-app ontkoppelen vanuit de sectie Eureka Server voor Spring Java-onderdelen van Verbinding maken met een beheerde Eureka-server voor Spring in Azure Container Apps.

De geregistreerde toepassingen weergeven met een dashboard

Nadat u uw toepassing hebt gemaakt en deze hebt gekoppeld aan de Eureka-server, kunt u de geregistreerde toepassingen bekijken via een beheerdashboard. Zie voor meer informatie de toepassing weergeven via een dashboardsectie van Verbinding maken met een beheerde Eureka-server voor Spring in Azure Container Apps.

In de volgende schermopname ziet u een voorbeeld van hoe het Eureka Server-dashboard eruitziet:

Schermopname van het Eureka Server-dashboard.

Probleemoplossing

U kunt logboeken weergeven voor de beheerde Eureka-server voor Spring in Azure Container Apps met behulp van Log Analytics, wat vergelijkbaar is met het logboekregistratiemechanisme in Azure Spring Apps.

Gebruik de volgende stappen om beheerde Eureka Server voor Spring-logboeken in Azure Container Apps weer te geven:

  1. Ga naar de pagina Container App Environment .

  2. Ga naar Opties voor bewakingslogboekregistratie>en controleer onder Logboekbestemming of Azure Log Analytics is geselecteerd.

  3. Ga naar Bewakingslogboeken>.

  4. (Optioneel) Als het Log Analytics-bereik niet overeenkomt met het bereik dat is geconfigureerd in opties voor logboekregistratie, selecteert u Bereik selecteren om de juiste Log Analytics-werkruimte te kiezen.

  5. Voer uw query in de queryeditor in om logboeken uit de ContainerAppSystemLogs_CL tabel weer te geven, zoals wordt weergegeven in het volgende voorbeeld:

    ContainerAppSystemLogs_CL
    | where ComponentType_s == "SpringCloudEureka"
    | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s
    | take 100
    

    Schermopname van het uitvoeren van query's op Log Analytics voor Eureka Server.

Zie Logboeken bewaken in Azure Container Apps met Log Analytics voor meer informatie over het uitvoeren van query's op logboeken met behulp van de Azure CLI.

Bekende beperkingen

  • Externe toegang: de beheerde Eureka-server voor Spring in Azure Container Apps kan niet extern worden geopend.
  • Revisieverkeer: in de meerdere revisiemodus van Azure Container Apps ontvangen alle replica's van de toepassing die is geregistreerd in Eureka verkeer.

Meer resources

Zie zelfstudie: Verbinding maken met een beheerde Eureka-server voor Spring in Azure Container Apps voor meer informatie over het beheren van Eureka Server in Azure Container Apps.