Kurz: Integrace správy pro Spring se serverem Eureka pro Spring v Azure Container Apps
Tento kurz vás provede procesem integrace spravovaného správce pro Spring se serverem Eureka pro Spring v rámci Azure Container Apps.
Tento článek obsahuje nějaký obsah podobný kurzu "Připojení ke spravovanému správci Springu v Azure Container Apps", ale s Eureka Serverem for Spring můžete vytvořit vazbu správce springu na Server Eureka pro Spring, aby mohl získat informace o aplikaci prostřednictvím Eureky, a nemusíte svázat jednotlivé aplikace se správcem pro Spring.
Podle této příručky nastavíte Server Eureka pro zjišťování služeb a pak vytvoříte správce pro Spring, který bude spravovat a monitorovat aplikace Spring zaregistrované na Serveru Eureka. Toto nastavení zajišťuje, že ostatní aplikace musí svázat pouze se serverem Eureka, což zjednodušuje správu mikroslužeb.
V tomto kurzu se naučíte:
- Vytvořte server Eureka pro spring.
- Vytvořte správce pro Spring a propojte ho se serverem Eureka.
- Pro zajištění zjednodušeného zjišťování a správy služeb vytvořte vazbu dalších aplikací na Server Eureka.
Požadavky
K dokončení tohoto kurzu potřebujete následující položky:
Požadavek | Pokyny |
---|---|
Účet Azure | Vyžaduje se aktivní předplatné. Pokud jej nemáte, můžete si jej zdarma vytvořit. |
Azure CLI | Nainstalujte rozhraní příkazového řádku Azure CLI. |
Existující komponenta Eureka Server for Spring Java | Pokud ho nemáte, vytvořte ho podle oddílu Vytvořit Server Eureka for Spring . |
Důležité informace
Při spouštění spravovaných komponent Javy v Azure Container Apps mějte na paměti následující podrobnosti:
Položka | Vysvětlení |
---|---|
Scope | Komponenty se spouštějí ve stejném prostředí jako připojená aplikace kontejneru. |
Škálování | Komponenta nemůže škálovat. Vlastnosti minReplicas škálování a maxReplicas obě jsou nastaveny na 1 . |
Materiály | Opravili jsme přidělení prostředků kontejneru pro komponenty. Počet jader procesoru je 0,5 a velikost paměti je 1Gi. |
Ceny | Fakturace součástí spadá do cen založených na spotřebě. Prostředky spotřebované spravovanými komponentami se účtují podle tarifů aktivní/nečinné. K zastavení fakturace můžete odstranit komponenty, které se už nepoužívají. |
Binding | Kontejnerové aplikace se připojují ke komponentě prostřednictvím vazby. Vazby vloží konfigurace do proměnných prostředí kontejneru aplikace. Po vytvoření vazby může aplikace kontejneru číst konfigurační hodnoty z proměnných prostředí a připojit se ke komponentě. |
Nastavení
Než začnete, vytvořte potřebné prostředky spuštěním následujících příkazů.
Vytvořte proměnné pro podporu konfigurace aplikace. Tyto hodnoty jsou k dispozici pro účely této lekce.
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"
Proměnná Popis LOCATION
Umístění oblasti Azure, kde vytvoříte kontejnerovou aplikaci a komponenty Javy. RESOURCE_GROUP
Název skupiny prostředků Azure pro ukázkovou aplikaci ENVIRONMENT
Název prostředí Azure Container Apps pro vaši ukázkovou aplikaci. EUREKA_COMPONENT_NAME
Název komponenty Java serveru Eureka. ADMIN_COMPONENT_NAME
Název komponenty Admin for Spring Java. CLIENT_APP_NAME
Název aplikace kontejneru, která bude svázaná se serverem Eureka. CLIENT_IMAGE
Image kontejneru použitá v aplikaci kontejneru Eureka Server. Přihlaste se k Azure pomocí Azure CLI.
az login
Vytvořte skupinu prostředků.
az group create --name $RESOURCE_GROUP --location $LOCATION
Vytvořte prostředí kontejnerových aplikací.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
Použití parametru
--query
filtruje odpověď dolů na jednoduchou zprávu o úspěchu nebo selhání.
Volitelné: Vytvoření serveru Eureka pro Spring
Pokud nemáte existující Server Eureka pro Spring, vytvořte komponentu Java serveru Eureka pomocí následujícího příkazu. Další informace najdete v tématu [Vytvoření serveru Eureka pro Spring](java-eureka-server.md#create-the-eureka server-for-spring-java-component).
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_NAME
Vytvoření vazby součástí
Vytvořte komponentu 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
Vytvoření vazby dalších aplikací na Server Eureka
Při nastavení Serveru Eureka teď můžete svázat další aplikace pro zjišťování služeb. Tyto aplikace můžete také monitorovat a spravovat na řídicím panelu správce pro Spring. Postupujte podle následujících kroků a vytvořte a vytvořte aplikaci kontejneru na Server Eureka:
Vytvořte aplikaci kontejneru a svážete ji se serverem 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
Tip
Vzhledem k tomu, že předchozí kroky vázaly součást Admin for Spring na komponentu Eureka Server for Spring, komponenta Admin umožňuje zjišťování služeb a umožňuje ji spravovat prostřednictvím řídicího panelu Admin for Spring současně.
Zobrazení řídicích panelů
Důležité
Pokud chcete zobrazit řídicí panel, musíte mít přiřazenou alespoň Microsoft.App/managedEnvironments/write
roli k vašemu účtu ve spravovaném prostředku prostředí. Můžete buď explicitně přiřadit Owner
prostředek, nebo Contributor
postupovat podle pokynů k vytvoření vlastní definice role a jeho přiřazení k vašemu účtu.
Vytvořte vlastní definici role.
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>"] }'
Nezapomeňte nahradit zástupný symbol mezi
<>
hranatými závorkami v hodnotěAssignableScopes
id vašeho předplatného.Přiřaďte vlastní roli k účtu u prostředku spravovaného prostředí.
Získejte ID prostředku spravovaného prostředí.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id -o tsv)
Přiřaďte roli k účtu.
Před spuštěním tohoto příkazu nahraďte zástupný symbol mezi
<>
hranatými závorkami id uživatele nebo instančního objektu.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Získejte adresu URL řídicího panelu Správce pro Spring.
az containerapp env java-component admin-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_COMPONENT_NAME \ --query properties.ingress.fqdn -o tsv
Získejte adresu URL řídicího panelu Eureka Server for 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 -o tsv
Tento příkaz vrátí adresu URL, kterou můžete použít pro přístup k řídicímu panelu Serveru Eureka for Spring. Prostřednictvím řídicího panelu je vaše aplikace kontejneru také pro vás, jak je znázorněno na následujícím snímku obrazovky.
Vyčištění prostředků
Prostředky vytvořené v tomto kurzu mají vliv na fakturu za Azure. Pokud tyto služby nebudete používat dlouhodobě, spuštěním následujícího příkazu odeberte vše vytvořené v tomto kurzu.
az group delete \
--resource-group $RESOURCE_GROUP