Udostępnij za pośrednictwem


Migrowanie serwera Eureka lub rejestru usługi Tanzu do zarządzanego serwera Eureka dla rozwiązania Spring w usłudze Azure Container Apps

Uwaga

Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise

W tym artykule opisano sposób migrowania serwera Eureka do serwera Eureka dla rozwiązania Spring w usłudze Azure Container Apps.

Zarządzany serwer Eureka usługi Azure Container Apps dla platformy Spring oferuje podobne środowisko do usługi Azure Spring Apps. Umożliwia ona wdrażanie istniejących aplikacji Spring bez modyfikowania kodu źródłowego i zarejestrowania ich w zarządzanym serwerze Eureka.

Wymagania wstępne

  • Istniejące wystąpienie planu usługi Azure Spring Apps Enterprise z włączonym rejestrem usługi Tanzu.
  • Istniejące środowisko aplikacji kontenera platformy Azure używane do wdrażania aplikacji. Aby uzyskać więcej informacji, zobacz Aprowizuj usługę Azure Container Apps.
  • Obraz kontenera aplikacji działającej jako klient Eureka. W razie potrzeby możesz użyć przykładowego obrazu mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest.
  • Interfejs wiersza polecenia platformy Azure.

Aprowizuj zarządzany serwer Eureka dla platformy Spring

Aby użyć zarządzanego serwera Eureka dla platformy Spring, należy najpierw utworzyć składnik serwera Eureka w środowisku usługi Azure Container Apps.

Aby utworzyć zarządzany serwer Eureka dla platformy Spring, wykonaj następujące kroki:

  1. Aby utworzyć składnik Eureka Server for Spring Java, użyj następującego polecenia:

    az containerapp env java-component eureka-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_COMPONENT_NAME \
        --environment $ENVIRONMENT
    
  2. (Opcjonalnie) Aby zaktualizować konfigurację składnika Eureka Server for Spring Java, użyj następującego polecenia:

    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
    

Po usunięciu zarządzanego serwera Eureka za pośrednictwem witryny Azure Portal usługa Azure Container Apps automatycznie usuwa wszystkie zarejestrowane w nim aplikacje kontenera i usuwa zarządzany serwer Eureka. To zachowanie różni się od planu Enterprise usługi Azure Spring Apps, w którym należy ręcznie usunąć usługi przed usunięciem rejestru usługi Tanzu.

Alokacja zasobów i cennik

Alokacja zasobów kontenera dla zarządzanego serwera Eureka w usłudze Azure Container Apps jest stała na następujące wartości:

  • Procesor CPU: 0,5 procesorów wirtualnych
  • Pamięć: 1 Gi
  • Repliki: 1 — nieskalowalny

W porównaniu z rejestrem usługi Azure Spring Apps Enterprise Plan Service Registry aprowizuje również stałe zasoby, ale obejmuje dwie repliki, z których każda ma 0,5 procesorów wirtualnych i 1 Gi pamięci.

W przeciwieństwie do planów w warstwie Podstawowa/Standardowa w usłudze Azure Spring Apps, które nie są naliczane, zarządzany serwer Eureka dla platformy Spring w usłudze Azure Container Apps działa w ramach cen opartych na użyciu. Ta cena jest podobna do cennika planu Enterprise usługi Azure Spring Apps.

Aby uzyskać więcej informacji, zobacz sekcję Zagadnienia w temacie Samouczek: nawiązywanie połączenia z zarządzanym serwerem Eureka dla platformy Spring w usłudze Azure Container Apps.

Wdrażanie i wiązanie aplikacji

Po aprowizacji zarządzanego serwera Eureka dla platformy Spring możesz wdrożyć aplikację Spring w usłudze Azure Container Apps i powiązać ją z serwerem Eureka. Ten proces jest podobny do sposobu działania planu Enterprise w usłudze Azure Spring Apps. W szczególności należy powiązać aplikację z serwerem Eureka, który różni się od planu Azure Spring Apps w warstwie Podstawowa/Standardowa, jeśli nie jest wymagane powiązanie.

Uwaga

Jeśli nie używasz przykładowego obrazu mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest do wdrożenia aplikacji, może być konieczne wykonanie pewnej konfiguracji, aby umożliwić usłudze Azure Container Apps ściąganie obrazów z rejestru kontenerów. Aby na przykład przygotować niezbędne uprawnienia do ściągania obrazów z usługi Azure Container Registry (ACR), zobacz sekcję Tworzenie usługi Azure Container Registry w temacie Samouczek: kompilowanie i wdrażanie aplikacji w usłudze Azure Container Apps.

Wdrażanie aplikacji

Użyj następującego polecenia, aby utworzyć aplikację kontenera:

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

Wiązanie aplikacji

Po pomyślnym utworzeniu aplikacji można powiązać aplikację z zarządzanym serwerem Eureka.

Użyj następującego polecenia, aby powiązać utworzoną aplikację z serwerem Eureka:

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

Powiązanie wprowadza kilka konfiguracji do aplikacji jako zmienne środowiskowe, przede wszystkim eureka.client.service-url.defaultZone właściwość . Ta właściwość wskazuje wewnętrzny punkt końcowy składnika Java serwera Eureka. Aby uzyskać więcej informacji na temat innych właściwości, zobacz sekcję Wiązanie aplikacji kontenera z serwerem Eureka server for Spring Java w sekcji Łączenie z zarządzanym serwerem Eureka dla platformy Spring w usłudze Azure Container Apps.

Jeśli musisz usunąć powiązanie aplikacji z serwera Eureka, zobacz sekcję Cofanie powiązania aplikacji kontenera z sekcji Składnik Eureka Server for Spring Java w sekcji Łączenie z zarządzanym serwerem Eureka dla platformy Spring w usłudze Azure Container Apps.

Wyświetlanie zarejestrowanych aplikacji za pomocą pulpitu nawigacyjnego

Po pomyślnym utworzeniu aplikacji i powiązaniu jej z serwerem Eureka można wyświetlić zarejestrowane aplikacje za pomocą pulpitu nawigacyjnego zarządzania. Aby uzyskać więcej informacji, zobacz sekcję Wyświetlanie aplikacji za pomocą pulpitu nawigacyjnego w sekcji Łączenie z zarządzanym serwerem Eureka dla platformy Spring w usłudze Azure Container Apps.

Poniższy zrzut ekranu przedstawia przykładowy wygląd pulpitu nawigacyjnego serwera Eureka:

Zrzut ekranu przedstawiający pulpit nawigacyjny serwera Eureka.

Rozwiązywanie problemów

Dzienniki zarządzanego serwera Eureka dla platformy Spring w usłudze Azure Container Apps można wyświetlić przy użyciu usługi Log Analytics, która działa podobnie jak mechanizm rejestrowania w usłudze Azure Spring Apps.

Aby wyświetlić zarządzany serwer Eureka dla dzienników Platformy Spring w usłudze Azure Container Apps, wykonaj następujące kroki:

  1. Przejdź do strony Środowisko aplikacji kontenera.

  2. Przejdź do pozycji Opcje rejestrowania monitorowania>, a następnie w obszarze Lokalizacja docelowa dzienników upewnij się, że wybrano pozycję Azure Log Analytics.

  3. Przejdź do obszaru Dzienniki monitorowania>.

  4. (Opcjonalnie) Jeśli zakres usługi Log Analytics nie jest zgodny z zakresem skonfigurowanym w opcjach rejestrowania, wybierz pozycję Wybierz zakres , aby wybrać właściwy obszar roboczy usługi Log Analytics.

  5. Wprowadź zapytanie w edytorze zapytań, aby wyświetlić dzienniki z tabeli ContainerAppSystemLogs_CL , jak pokazano w poniższym przykładzie:

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

    Zrzut ekranu przedstawiający wykonywanie zapytań dotyczących analizy dzienników dla serwera Eureka.

Aby uzyskać więcej informacji na temat wykonywania zapytań dotyczących dzienników przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz Monitorowanie dzienników w usłudze Azure Container Apps przy użyciu usługi Log Analytics.

Znane ograniczenia

  • Dostęp zewnętrzny: zarządzany serwer Eureka dla platformy Spring w usłudze Azure Container Apps nie może być dostępny zewnętrznie.
  • Ruch poprawki: w trybie wielokrotnej wersji usługi Azure Container Apps wszystkie repliki aplikacji zarejestrowanej w eureka odbierają ruch.

Więcej zasobów

Aby uzyskać więcej informacji na temat zarządzania serwerem Eureka w usłudze Azure Container Apps, zobacz Samouczek: nawiązywanie połączenia z zarządzanym serwerem Eureka dla platformy Spring w usłudze Azure Container Apps.