Udostępnij za pośrednictwem


Samouczek: integrowanie aplikacji Admin for Spring z serwerem Eureka server for Spring w usłudze Azure Container Apps

Ten samouczek przeprowadzi Cię przez proces integracji zarządzanego administratora platformy Spring z serwerem Eureka dla platformy Spring w usłudze Azure Container Apps.

Ten artykuł zawiera pewną zawartość podobną do samouczka "Nawiązywanie połączenia z zarządzanym administratorem aplikacji Spring w usłudze Azure Container Apps", ale za pomocą serwera Eureka dla platformy Spring możesz powiązać administratora spring z serwerem Eureka dla platformy Spring, aby uzyskać informacje o aplikacji za pośrednictwem usługi Eureka, zamiast wiązać poszczególne aplikacje z administratorem spring.

Korzystając z tego przewodnika, skonfigurujesz serwer Eureka na potrzeby odnajdywania usług, a następnie utworzysz administratora platformy Spring, aby zarządzać aplikacjami Spring zarejestrowanymi w usłudze Eureka Server i monitorować je. Ta konfiguracja gwarantuje, że inne aplikacje muszą wiązać się tylko z serwerem Eureka, upraszczając zarządzanie mikrousługami.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  1. Utwórz serwer Eureka dla platformy Spring.
  2. Utwórz administratora platformy Spring i połącz go z serwerem Eureka.
  3. Powiąż inne aplikacje z serwerem Eureka w celu usprawnienia odnajdywania i zarządzania usługami.

Wymagania wstępne

Kwestie wymagające rozważenia

Podczas uruchamiania zarządzanych składników Java w usłudze Azure Container Apps należy pamiętać o następujących szczegółach:

Towar Wyjaśnienie
Scope Składniki działają w tym samym środowisku co połączona aplikacja kontenera.
Skalowanie Składnik nie może skalować. Właściwości minReplicas skalowania i maxReplicas są ustawione na 1wartość .
Zasoby Alokacja zasobów kontenera dla składników jest stała. Liczba rdzeni procesora CPU wynosi 0,5, a rozmiar pamięci to 1 Gi.
Cennik Rozliczenia składników są objęte cenami opartymi na użyciu. Zasoby używane przez składniki zarządzane są rozliczane według stawek aktywnych/bezczynnych. Możesz usunąć składniki, które nie są już używane do zatrzymywania rozliczeń.
Wiązanie Aplikacje kontenera łączą się ze składnikiem za pośrednictwem powiązania. Powiązania wprowadzają konfiguracje do zmiennych środowiskowych aplikacji kontenera. Po ustanowieniu powiązania aplikacja kontenera może odczytywać wartości konfiguracji ze zmiennych środowiskowych i łączyć się ze składnikiem.

Ustawienia

Przed rozpoczęciem utwórz niezbędne zasoby, wykonując następujące polecenia.

  1. Utwórz zmienne do obsługi konfiguracji aplikacji. Te wartości są udostępniane na potrzeby tej lekcji.

    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"
    
    Zmienna opis
    LOCATION Lokalizacja regionu platformy Azure, w której tworzysz aplikację kontenera i składniki Java.
    RESOURCE_GROUP Nazwa grupy zasobów platformy Azure dla aplikacji demonstracyjnej.
    ENVIRONMENT Nazwa środowiska usługi Azure Container Apps dla aplikacji demonstracyjnej.
    EUREKA_COMPONENT_NAME Nazwa składnika Java serwera Eureka.
    ADMIN_COMPONENT_NAME Nazwa składnika Admin for Spring Java.
    CLIENT_APP_NAME Nazwa aplikacji kontenera, która jest powiązana z serwerem Eureka.
    CLIENT_IMAGE Obraz kontenera używany w aplikacji kontenera eureka Server.
  2. Zaloguj się na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

    az login
    
  3. Utwórz grupę zasobów.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Utwórz środowisko aplikacji kontenera.

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

    Użycie parametru --query filtruje odpowiedź w dół do prostego komunikatu o powodzeniu lub niepowodzeniu.

Opcjonalnie: Tworzenie serwera Eureka dla platformy Spring

Jeśli nie masz istniejącego serwera Eureka dla platformy Spring, wykonaj poniższe polecenie, aby utworzyć składnik Java serwera Eureka. Aby uzyskać więcej informacji, zobacz Create the Eureka Server for Spring (Tworzenie serwera Eureka dla platformy Spring).

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

Wiązanie składników ze sobą

Utwórz składnik Admin for 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

Wiązanie innych aplikacji z serwerem Eureka

Po skonfigurowaniu serwera Eureka można teraz powiązać z nim inne aplikacje na potrzeby odnajdywania usług. Możesz również monitorować te aplikacje i zarządzać nimi na pulpicie nawigacyjnym aplikacji Admin for Spring. Wykonaj następujące kroki, aby utworzyć i powiązać aplikację kontenera z serwerem Eureka:

Utwórz aplikację kontenera i powiąż ją z serwerem Eureka.

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 

Napiwek

Ponieważ poprzednie kroki powiązały składnik Admin for Spring ze składnikiem Eureka Server for Spring, składnik Administracyjny włącza odnajdywanie usług i umożliwia zarządzanie nim za pośrednictwem pulpitu nawigacyjnego Administratora dla platformy Spring w tym samym czasie.

Wyświetlanie pulpitów nawigacyjnych

Ważne

Aby wyświetlić pulpit nawigacyjny, musisz mieć co najmniej Microsoft.App/managedEnvironments/write rolę przypisaną do konta w zasobie środowiska zarządzanego. Możesz jawnie przypisać Owner lub Contributor rolę w zasobie lub wykonać kroki tworzenia niestandardowej definicji roli i przypisywać je do swojego konta.

  1. Utwórz definicję roli niestandardowej.

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

    Pamiętaj, aby zastąpić <SUBSCRIPTION_ID> symbol zastępczy w AssignableScopes wartości identyfikatorem subskrypcji.

  2. Przypisz rolę niestandardową do konta w zasobie środowiska zarządzanego.

    Pobierz identyfikator zasobu środowiska zarządzanego.

    export ENVIRONMENT_ID=$(az containerapp env show \
        --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \
        --query id \
        --output tsv)
    
  3. Przypisz rolę do swojego konta.

    Przed uruchomieniem tego polecenia zastąp <USER_OR_SERVICE_PRINCIPAL_ID> symbol zastępczy identyfikatorem użytkownika lub jednostki usługi.

    az role assignment create \
        --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \
        --role "Java Component Dashboard Access" \
        --scope $ENVIRONMENT_ID
    
  4. Pobierz adres URL pulpitu nawigacyjnego administratora platformy Spring.

    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. Pobierz adres URL serwera Eureka dla pulpitu nawigacyjnego Platformy Spring.

    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
    

    To polecenie zwraca adres URL, którego można użyć do uzyskania dostępu do pulpitu nawigacyjnego Eureka Server for Spring. Za pośrednictwem pulpitu nawigacyjnego aplikacja kontenera jest również widoczna na poniższym zrzucie ekranu.

    Zrzut ekranu przedstawiający pulpit nawigacyjny Administratora platformy Spring.

    Zrzut ekranu przedstawiający pulpit nawigacyjny Eureka Server for Spring.

Czyszczenie zasobów

Zasoby utworzone w tym samouczku mają wpływ na rachunek za platformę Azure. Jeśli nie zamierzasz korzystać z tych usług długoterminowych, uruchom następujące polecenie, aby usunąć wszystkie elementy utworzone w tym samouczku.

az group delete --resource-group $RESOURCE_GROUP