Freigeben über


Migrieren Sie Eureka Server oder Tanzu Service Registry zu einem verwalteten Eureka Server für Spring in Azure Container Apps

Hinweis

Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.

Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.

Dieser Artikel gilt für:✅ Basic/Standard ✅ Enterprise

In diesem Artikel wird beschrieben, wie Sie Eureka Server zu Eureka Server für Spring in Azure Container Apps migrieren.

Der verwalteter Eureka Server für Spring von Azure Container Apps bietet eine ähnliche Erfahrung wie Azure Spring Apps. Sie können vorhandene Spring-Anwendungen bereitstellen, ohne deren Quellcode zu ändern und sie beim verwalteten Eureka-Server zu registrieren.

Voraussetzungen

  • Eine vorhandene Azure Spring Apps Enterprise-Planinstanz mit aktivierter Tanzu Service-Registrierung
  • Eine vorhandene Azure-Container-App-Umgebung, die zum Bereitstellen von Anwendungen verwendet wird Weitere Informationen finden Sie unter Bereitstellen von Azure Container Apps.
  • Ein Containerimage der Anwendung, die als Eureka-Client fungiert Bei Bedarf können Sie das Beispielimage mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest verwenden.
  • Azure-Befehlszeilenschnittstelle.

Bereitstellen eines verwalteten Eureka-Servers für Spring

Um den verwalteten Eureka-Server für Spring verwenden zu können, müssen Sie zuerst die Eureka Server-Komponente in Ihrer Azure Container Apps-Umgebung erstellen.

Führen Sie die folgenden Schritte aus, um den verwalteten Eureka-Server für Spring zu erstellen:

  1. Um die Java-Komponente „Eureka Server für Spring“ zu erstellen, verwenden Sie den folgenden Befehl:

    az containerapp env java-component eureka-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_COMPONENT_NAME \
        --environment $ENVIRONMENT
    
  2. (Optional) Verwenden Sie den folgenden Befehl, um die Konfiguration der Java-Komponente „Eureka Server für Spring“ zu aktualisieren:

    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
    

Wenn Sie den verwalteten Eureka-Server über das Azure-Portal löschen, entfernt Azure Container Apps automatisch die Bindung aller Container Apps, die bei ihm registriert sind, und löscht den verwalteten Eureka-Server. Dieses Verhalten unterscheidet sich vom Azure Spring Apps Enterprise Plan, bei dem Sie die Bindung von Diensten manuell aufheben müssen, bevor Sie die Tanzu Service-Registrierung löschen.

Ressourcenzuordnung und -preise

Die Containerressourcenzuordnung für den verwalteten Eureka-Server in Azure Container Apps ist auf die folgenden Werte festgelegt:

  • CPU: 0,5 vCPU
  • Arbeitsspeicher: 1 Gi
  • Replikate: 1 – nicht skalierbar

Im Vergleich dazu stellt die Azure Spring Apps Enterprise Plan Service Registry auch feste Ressourcen bereit, enthält jedoch zwei Replikate, die jeweils 0,5 vCPU und 1 GI Arbeitsspeicher enthalten.

Im Gegensatz zu den Basic/Standard-Plänen in Azure Spring Apps, die nicht kostenpflichtig sind, arbeitet der verwaltete Eureka Server für Spring in Azure Container Apps mit verbrauchsabhängigen Preisen. Diese Preise ähneln den Preisen des Azure Spring Apps Enterprise-Plans.

Weitere Informationen finden Sie im Abschnitt Überlegungen im Tutorial: Herstellen einer Verbindung mit einem verwalteten Eureka-Server für Spring in Azure Container Apps.

Bereitstellen und Binden einer Anwendung

Nachdem Sie den verwalteten Eureka-Server für Spring bereitgestellt haben, können Sie Ihre Spring-Anwendung in Azure Container Apps bereitstellen und an den Eureka-Server binden. Dieser Vorgang ähnelt der Funktionsweise des Enterprise-Plans in Azure Spring Apps. Insbesondere müssen Sie Ihre Anwendung an den Eureka-Server binden. Das unterscheidet sich vom Azure Spring Apps Basic/Standard-Plan, bei dem keine Bindung erforderlich ist.

Hinweis

Wenn Sie das Beispielimage mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest nicht zum Bereitstellen einer Anwendung verwenden, müssen Sie möglicherweise etwas konfigurieren, um Azure Container Apps das Abrufen von Images aus Ihrer Containerregistrierung zu ermöglichen. Informationen zum Vorbereiten der erforderlichen Berechtigungen zum Abrufen von Images aus der Azure Container Registry (ACR) finden Sie im Abschnitt Erstellen einer Azure Container Registry im Tutorial: Erstellen und Bereitstellen Ihrer App in Azure Container Apps.

Bereitstellen der Anwendung

Verwenden Sie den folgenden Befehl, um eine Containeranwendung zu erstellen:

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

Binden der Anwendung

Nachdem Sie die Anwendung erfolgreich erstellt haben, können Sie die Anwendung an den verwalteten Eureka-Server binden.

Verwenden Sie den folgenden Befehl, um die erstellte Anwendung an den Eureka-Server zu binden:

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

Die Bindung fügt mehrere Konfigurationen als Umgebungsvariablen in die Anwendung ein, in erster Linie die eureka.client.service-url.defaultZone Eigenschaft. Diese Eigenschaft gibt den internen Endpunkt der Eureka Server-Java-Komponente an. Weitere Informationen zu anderen Eigenschaften finden Sie im Abschnitt Binden Ihrer Container-App an die Java-Komponente „Eureka Server für Spring“ von Verbinden mit einem verwalteten Eureka-Server für Spring in Azure Container Apps.

Wenn Sie die Bindung Ihrer Anwendung mit Eureka Server trennen müssen, lesen Sie den Abschnitt Aufheben der Bindung Ihrer Container-App an die Java-Komponente „Eureka Server für Spring von Herstellen einer Verbindung mit einem verwalteten Eureka-Server für Spring in Azure Container Apps.

Anzeigen der registrierten Anwendungen mit einem Dashboard

Nachdem Sie Ihre Anwendung erfolgreich erstellt und an den Eureka-Server gebunden haben, können Sie die registrierten Anwendungen über ein Verwaltungsdashboard anzeigen. Weitere Informationen finden Sie im Abschnitt Anzeigen der Anwendung über einen Dashboard von Herstellen einer Verbindung mit einem verwalteten Eureka-Server für Spring in Azure Container Apps.

Der folgende Screenshot enthält ein Beispiel dafür, wie das Eureka Server-Dashboard aussieht:

Screenshot des Eureka Server-Dashboards.

Problembehandlung

Sie können Protokolle für den verwalteten Eureka-Server für Spring in Azure Container Apps mithilfe von Log Analytics anzeigen, was ähnlich wie der Protokollierungsmechanismus in Azure Spring Apps funktioniert.

Führen Sie die folgenden Schritte aus, um verwaltete Eureka Server für Spring-Protokolle in Azure Container Apps anzuzeigen:

  1. Wechseln Sie zur Seite Container-App-Umgebung.

  2. Wechseln Sie zu Überwachung>Protokollierungsoptionen, und stellen Sie sicher, dass unter Protokollziel der Eintrag Azure Log Analytics ausgewählt ist.

  3. Wechseln Sie zu Überwachung>Protokolle.

  4. (Optional) Wenn der Protokollanalysebereich nicht mit dem in Protokollierungsoptionen konfigurierten Bereich übereinstimmt, wählen Sie Bereich auswählen aus, um den richtigen Log Analytics-Arbeitsbereich zu wählen.

  5. Geben Sie Ihre Abfrage in den Abfrage-Editor ein, um Protokolle aus der Tabelle ContainerAppSystemLogs_CL anzuzeigen, wie im folgenden Beispiel gezeigt:

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

    Screenshot der Abfrage der Protokollanalyse für Eureka Server

Weitere Informationen zum Abfragen von Protokollen mithilfe der Azure CLI finden Sie unter Überwachen von Protokollen in Azure Container Apps mit Log Analytics.

Bekannte Einschränkungen

  • Externer Zugriff: Auf den verwalteten Eureka-Server für Spring in Azure Container Apps kann nicht extern zugegriffen werden.
  • Überarbeitungsdatenverkehr: Im Mehrversionsmodus von Azure Container Apps empfangen alle Replikate der Anwendung, die in Eureka registriert sind, Datenverkehr.

Weitere Ressourcen

Weitere Informationen zum Verwalten von Eureka Server in Azure Container Apps finden Sie im Tutorial: Verbinden mit einem verwalteten Eureka-Server für Spring in Azure Container Apps.