Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- 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.
- Azure CLI.
- Istniejący serwer Eureka dla komponentu 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ł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.
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 LOCATIONLokalizacja regionu platformy Azure, w której tworzysz aplikację kontenera i składniki Java. RESOURCE_GROUPNazwa grupy zasobów platformy Azure dla aplikacji demonstracyjnej. ENVIRONMENTNazwa środowiska usługi Azure Container Apps dla aplikacji demonstracyjnej. EUREKA_COMPONENT_NAMENazwa składnika Java serwera Eureka. ADMIN_COMPONENT_NAMENazwa składnika Admin for Spring Java. CLIENT_APP_NAMENazwa aplikacji kontenera, która jest powiązana z serwerem Eureka. CLIENT_IMAGEObraz kontenerowy używany w aplikacji kontenerowej Eureka Server. Zaloguj się do Azure za pomocą Azure CLI.
az loginUtwórz grupę zasobów.
az group create --name $RESOURCE_GROUP --location $LOCATIONUtwórz środowisko aplikacji kontenera.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"Użycie parametru
--queryfiltruje 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.
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ściAssignableScopesidentyfikatorem 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 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_IDPobierz 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 tsvPobierz 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 tsvTo 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.
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