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.

Za pomocą serwera Eureka dla platformy Spring można powiązać administratora spring z serwerem Eureka dla platformy Spring, aby uzyskać informacje o aplikacji za pośrednictwem Eureka, zamiast wiązać poszczególne aplikacje z administratorem dla platformy 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ładniki nie mogą być skalowane. Właściwości skalowania minReplicas i maxReplicas są oba ustawione na 1 tę samą wartość.
Zasoby Alokacja zasobów kontenera dla składników jest stała. Liczba rdzeni procesora CPU wynosi 0,5, a rozmiar pamięci wynosi 1 GB.
Cennik Rozliczenia składników podlegają cenom opartym na zużyciu. Zasoby używane przez składniki zarządzane są rozliczane według aktywnych lub bezczynnych stawek, w zależności od użycia zasobów. Możesz usunąć składniki, które nie są już używane do zatrzymywania rozliczeń.
Wiązanie Aplikacje kontenerowe łączą się ze składnikiem poprzez wiązanie. 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 kontenerowy używany w aplikacji kontenerowej Eureka Server.
  2. Zaloguj się do Azure za pomocą Azure CLI.

    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, użyj następującego polecenia, 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 

Wskazówka

Poprzednie kroki wiązały składnik Admin for Spring ze składnikiem Eureka Server for Spring. Składnik Administrator umożliwia odnajdywanie usługi i umożliwia zarządzanie nim za pośrednictwem pulpitu nawigacyjnego administratora platformy Spring w tym samym czasie.

Wyświetlanie pulpitów nawigacyjnych

Ważne

Aby wyświetlić pulpit nawigacyjny, musisz mieć przypisaną co najmniej rolę Microsoft.App/managedEnvironments/write do konta w zasobie zarządzanego środowiska. Możesz jawnie przypisać rolę Owner lub Contributor do zasobu, albo wykonać kroki, aby utworzyć niestandardową definicję roli i przypisać ją 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ć symbol zastępczy <SUBSCRIPTION_ID> wewnątrz wartości AssignableScopes 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 symbol zastępczy <USER_OR_SERVICE_PRINCIPAL_ID> 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 pomocą pulpitu nawigacyjnego możesz wyświetlić aplikację kontenera, jak pokazano 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 Twój 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