Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku dowiesz się, jak utworzyć usługę Eureka, która ma pozostać operacyjna w obliczu awarii i wysokiego zapotrzebowania. Utworzenie usługi Eureka o wysokiej dostępności pomaga zapewnić, że rejestr usług używany w usłudze Azure Container Apps jest zawsze dostępny dla klientów niezależnie od zapotrzebowania.
Osiągnięcie stanu wysokiej dostępności dla Eureka obejmuje łączenie wielu instancji serwera Eureka w taki sposób, aby tworzyły klaster. Klaster udostępnia zasoby, dzięki czemu w przypadku awarii jednego serwera Eureka pozostałe usługi pozostaną dostępne dla żądań.
W tym samouczku zostały wykonane następujące czynności:
- Tworzenie serwerów Eureka dla składników platformy Spring.
- Powiąż ze sobą dwa serwery Eureka dla składników spring w klastrze.
- Powiąż aplikację kontenera z obydwoma serwerami Eureka na potrzeby odnajdywania usług o wysokiej dostępności.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Jeśli jeszcze go nie masz, możesz go utworzyć bezpłatnie.
- Azure CLI.
Kwestie wymagające rozważenia
Po uruchomieniu zarządzanych składników Java w usłudze 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 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 wynosi 1 GB. |
| 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 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 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. |
Konfigurowanie zasobów początkowych
Wykonaj poniższe kroki, aby utworzyć zasoby potrzebne dla klastra usługi Eureka.
Utwórz zmienne, które przechowują wartości konfiguracji aplikacji.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export EUREKA_COMPONENT_FIRST=eureka01 export EUREKA_COMPONENT_SECOND=eureka02 export APP_NAME=sample-service-eureka-client export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"Zaloguj się do Azure przy użyciu Azure CLI.
az loginUtwórz grupę zasobów.
az group create --name $RESOURCE_GROUP --location $LOCATIONUtwórz środowisko usługi Container Apps.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Tworzenie serwerów dla klastra
Utwórz dwa składniki Eureka Server dla platformy Spring.
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_FIRST
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_SECOND
Wiązanie składników ze sobą w celu utworzenia klastra
Aby serwery Eureka działały w konfiguracji wysokiej dostępności, muszą być połączone razem jako klaster.
Powiąż pierwszy serwer Eureka z drugim.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_FIRST \ --bind $EUREKA_COMPONENT_SECONDPowiąż drugi serwer Eureka z pierwszym.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_SECOND \ --bind $EUREKA_COMPONENT_FIRST
Wdrażanie i wiązanie aplikacji
Po połączeniu składników serwera można utworzyć aplikację kontenera i powiązać ją z dwoma składnikami Eureka.
Utwórz aplikację kontenera.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080Powiąż aplikację kontenera z pierwszym składnikiem serwera Eureka.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_FIRSTPowiąż aplikację kontenera z drugim składnikiem serwera Eureka.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_SECOND
Wyświetl pulpit nawigacyjny
Ważne
Aby wyświetlić pulpit nawigacyjny serwera Eureka dla platformy Spring, musisz mieć przypisaną rolę Microsoft.App/managedEnvironments/write, Owner lub Contributor do swojego konta w zasobach środowiska Container Apps.
- Jeśli masz już jedną z tych ról, przejdź do sekcji Pobierz adres URL pulpitu nawigacyjnego , aby uzyskać adres URL i wyświetlić pulpit nawigacyjny.
- Jeśli chcesz utworzyć niestandardową definicję roli i przypisać ją do swojego konta, wykonaj kroki opisane w poniższej sekcji Tworzenie i przypisywanie roli niestandardowej.
- Jeśli chcesz przypisać swojemu kontu rolę
OwnerlubContributordla zasobu, dokonaj tego przypisania, a następnie przejdź do sekcji Pobierz adres URL pulpitu nawigacyjnego.
Tworzenie i przypisywanie roli niestandardowej
Utwórz definicję roli niestandardowej. Przed uruchomieniem tego polecenia zastąp symbol zastępczy w
AssignableScopeswartości identyfikatorem subskrypcji.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>"] }'Pobierz identyfikator zasobu środowiska Container Apps.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)Przypisz rolę niestandardową do swojego konta dla zasobu środowiskowego Container Apps. Przed uruchomieniem tego polecenia zastąp symbol zastępczy wartości
assigneeidentyfikatorem obiektu użytkownika lub identyfikatorem głównej jednostki usługi.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Uzyskiwanie adresu URL pulpitu nawigacyjnego
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_FIRST \
--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żna sprawdzić, czy konfiguracja serwera Eureka składa się z dwóch replik.
Czyszczenie zasobów
Zasoby utworzone w tym samouczku wpływają na rachunek za korzystanie z platformy Azure. Jeśli nie zamierzasz korzystać z tych usług w dłuższej perspektywie, uruchom następujące polecenie, aby usunąć wszystkie elementy utworzone w tym samouczku.
az group delete --resource-group $RESOURCE_GROUP