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:
- Utwórz serwer Eureka dla platformy Spring.
- Utwórz administratora platformy Spring i połącz go z serwerem Eureka.
- Powiąż inne aplikacje z serwerem Eureka w celu usprawnienia odnajdywania i zarządzania usługami.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Jeśli jeszcze go nie masz, możesz go utworzyć bezpłatnie.
- Interfejs wiersza polecenia platformy Azure.
- Istniejący składnik Eureka Server for Spring Java. Jeśli go nie masz, zobacz Create the Eureka Server for Spring (Tworzenie serwera Eureka dla platformy Spring).
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 1 wartość . |
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.
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. Zaloguj się na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
az login
Utwórz grupę zasobów.
az group create --name $RESOURCE_GROUP --location $LOCATION
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.
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 wAssignableScopes
wartości identyfikatorem subskrypcji.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)
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
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
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.
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