Dela via


Migrera Eureka Server eller Tanzu Service Registry till hanterad Eureka Server for Spring i Azure Container Apps

Kommentar

Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.

Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.

Den här artikeln gäller för:✅ Basic/Standard ✅ Enterprise

I den här artikeln beskrivs hur du migrerar Eureka Server till Eureka Server for Spring i Azure Container Apps.

Azure Container Apps hanterade Eureka Server for Spring erbjuder en liknande upplevelse som Azure Spring Apps. Det gör att du kan distribuera befintliga Spring-program utan att ändra källkoden och registrera dem med den hanterade Eureka-servern.

Förutsättningar

  • En befintlig Azure Spring Apps Enterprise-planinstans med Tanzu Service Registry aktiverat.
  • En befintlig Azure-containerappmiljö som används för att distribuera program. Mer information finns i Etablera Azure Container Apps.
  • En containeravbildning av programmet som fungerar som en Eureka-klient. Om det behövs kan du använda exempelbilden mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest.
  • Azure CLI.

Etablera hanterad Eureka Server för Spring

Om du vill använda Den hanterade Eureka-servern för Spring måste du först skapa Eureka Server-komponenten i din Azure Container Apps-miljö.

Använd följande steg för att skapa den hanterade Eureka-servern för Spring:

  1. Om du vill skapa Komponenten Eureka Server for Spring Java använder du följande kommando:

    az containerapp env java-component eureka-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_COMPONENT_NAME \
        --environment $ENVIRONMENT
    
  2. (Valfritt) Om du vill uppdatera konfigurationen av Eureka Server for Spring Java-komponenten använder du följande kommando:

    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
    

När du tar bort den hanterade Eureka-servern via Azure Portal avbinder Azure Container Apps automatiskt alla containerappar som registrerats med den och tar bort den hanterade Eureka-servern. Det här beteendet skiljer sig från Azure Spring Apps Enterprise-planen, där du måste ta bortbindade tjänster manuellt innan du tar bort Tanzu Service Registry.

Resursallokering och prissättning

Resursallokeringen för containern för den hanterade Eureka-servern i Azure Container Apps är fast i följande värden:

  • CPU: 0,5 vCPU
  • Minne: 1 gi
  • Repliker: 1 – inte skalbara

Som jämförelse etablerar Azure Spring Apps Enterprise Plan Service Registry även fasta resurser men innehåller två repliker, var och en med 0,5 vCPU och 1 Gi-minne.

Till skillnad från Basic-/Standard-abonnemangen i Azure Spring Apps, som inte debiteras, fungerar den hanterade Eureka-servern för Spring i Azure Container Apps under förbrukningsbaserad prissättning. Den här prissättningen liknar prissättningen för Azure Spring Apps Enterprise-planen.

Mer information finns i avsnittet Överväganden i Självstudie: Ansluta till en hanterad Eureka Server for Spring i Azure Container Apps.

Distribuera och binda ett program

När du har etablerat den hanterade Eureka-servern för Spring kan du distribuera din Spring-app till Azure Container Apps och binda den till Eureka-servern. Den här processen liknar hur Enterprise-planen fungerar i Azure Spring Apps. Mer specifikt behöver du binda ditt program till Eureka Server, som skiljer sig från Azure Spring Apps Basic/Standard-planen där ingen bindning krävs.

Kommentar

Om du inte använder exempelavbildningen mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest för att distribuera ett program kan du behöva göra en konfiguration för att göra det möjligt för Azure Container Apps att hämta avbildningar från containerregistret. Om du till exempel vill förbereda de behörigheter som krävs för att hämta avbildningar från Azure Container Registry (ACR) kan du läsa avsnittet Skapa ett Azure Container Registry i Självstudie: Skapa och distribuera din app till Azure Container Apps.

Distribuera programmet

Använd följande kommando för att skapa ett containerprogram:

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

Binda programmet

När du har skapat programmet kan du binda programmet till den hanterade Eureka-servern.

Använd följande kommando för att binda det skapade programmet till Eureka-servern:

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

Bindningen matar in flera konfigurationer i programmet som miljövariabler, främst egenskapen eureka.client.service-url.defaultZone . Den här egenskapen anger den interna slutpunkten för Komponenten Eureka Server Java. Mer information om andra egenskaper finns i avsnittet Bind din containerapp till komponentenEureka Server for Spring Java i Anslut till en hanterad Eureka Server for Spring i Azure Container Apps.

Om du behöver avbinda ditt program från Eureka Server kan du läsa avsnittet Unbind your container app from the Eureka Server for Spring Java component (Koppla bort din containerapp från komponentenEureka Server for Spring Java) i Ansluta till en hanterad Eureka Server for Spring i Azure Container Apps.

Visa registrerade program med en instrumentpanel

När du har skapat programmet och binder det till Eureka-servern kan du visa de registrerade programmen via en instrumentpanel för hantering. Mer information finns i avsnittet Visa programmet via en instrumentpanel i Ansluta till en hanterad Eureka Server for Spring i Azure Container Apps.

Följande skärmbild visar ett exempel på hur Eureka Server-instrumentpanelen ser ut:

Skärmbild av Instrumentpanelen för Eureka Server.

Felsökning

Du kan visa loggar för den hanterade Eureka Server for Spring i Azure Container Apps med hjälp av Log Analytics, som fungerar på samma sätt som loggningsmekanismen i Azure Spring Apps.

Använd följande steg för att visa hanterade Eureka Server for Spring-loggar i Azure Container Apps:

  1. Gå till sidan Container App Environment (Container App Environment ).

  2. Gå till Alternativ för övervakningsloggning>och under Logs Destination kontrollerar du att Azure Log Analytics är valt.

  3. Gå till Övervakningsloggar>.

  4. (Valfritt) Om Log Analytics-omfånget inte matchar det som konfigurerats i loggningsalternativen väljer du Välj omfång för att välja rätt log analytics-arbetsyta.

  5. Ange din fråga i frågeredigeraren för att visa loggar från tabellen ContainerAppSystemLogs_CL , som du ser i följande exempel:

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

    Skärmbild av att fråga log analytics för Eureka Server.

Mer information om hur du frågar efter loggar med hjälp av Azure CLI finns i Övervaka loggar i Azure Container Apps med Log Analytics.

Kända begränsningar

  • Extern åtkomst: Den hanterade Eureka-servern för Spring i Azure Container Apps kan inte nås externt.
  • Revisionstrafik: I Azure Container Apps läge för flera revisioner tar alla repliker av programmet som registrerats i Eureka emot trafik.

Fler resurser

Mer information om hur du hanterar Eureka Server i Azure Container Apps finns i Självstudie: Ansluta till en hanterad Eureka Server for Spring i Azure Container Apps.