Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu zjistíte, jak vytvořit službu Eureka, která je navržená tak, aby zůstala funkční v případě selhání a vysoké poptávky. Vytvoření vysoce dostupné služby Eureka pomáhá zajistit, aby registr služeb, který používáte pro Azure Container Apps, byl vždy dostupný pro klienty bez ohledu na poptávku.
Dosažení stavu vysoké dostupnosti pro Eureka zahrnuje propojení několika instancí serveru Eureka dohromady, aby vytvořily cluster. Cluster poskytuje prostředky, aby v případě selhání jednoho serveru Eureka zůstaly ostatní služby dostupné pro požadavky.
V tomto kurzu se naučíte:
- Vytvořte servery Eureka pro komponenty Spring.
- Spojte dva servery Eureka pro komponenty Spring do clusteru.
- Vytvořte vazbu aplikace kontejneru na oba servery Eureka pro zjišťování služeb s vysokou dostupností.
Požadavky
Důležité informace
Při spouštění spravovaných komponent Java v 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í | Komponenty se nedají škálovat. Vlastnosti minReplicas škálování a maxReplicas obě jsou nastaveny na 1. |
| Zdroje informací | Opravili jsme přidělení prostředků kontejneru pro komponenty. Počet jader procesoru je 0,5 a velikost paměti je 1 GB. |
| Ceny | Fakturace součástí spadá do cen založených na spotřebě. Prostředky spotřebované spravovanými komponentami se účtují podle aktivních nebo nečinných sazeb v závislosti na využití prostředků. K zastavení fakturace můžete odstranit komponenty, které se už nepoužívají. |
| Vazba | 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ě. |
Nastavte počáteční prostředky
Pomocí následujícího postupu vytvořte některé prostředky, které potřebujete pro cluster služby Eureka.
Vytvořte proměnné, které obsahují hodnoty konfigurace aplikace.
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"Pomocí Azure CLI se přihlaste k Azure.
az loginVytvořte skupinu prostředků.
az group create --name $RESOURCE_GROUP --location $LOCATIONVytvořte prostředí Container Apps.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Vytvoření serverů pro cluster
Vytvořte dva komponenty Serveru Eureka pro 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
Propojit součásti pro vytvoření clusteru
Aby servery Eureka fungovaly v konfiguraci s vysokou dostupností, musí být propojené jako cluster.
Vytvořte vazbu prvního serveru Eureka na druhý server.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_FIRST \ --bind $EUREKA_COMPONENT_SECONDVytvořte vazbu druhého serveru Eureka na první server.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_SECOND \ --bind $EUREKA_COMPONENT_FIRST
Nasazení a vytvoření vazby aplikace
S propojenými komponentami serveru můžete vytvořit aplikaci kontejneru a svázat ji se dvěma komponentami Eureka.
Vytvořte aplikaci typu kontejner.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080Vytvořte vazbu aplikace kontejneru na první komponentu serveru Eureka.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_FIRSTVytvořte vazbu aplikace kontejneru na druhou komponentu serveru Eureka.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind $EUREKA_COMPONENT_SECOND
Zobrazení řídicího panelu
Důležité
Pokud chcete zobrazit řídicí panel Eureka Server for Spring, musíte mít přiřazenou roli Microsoft.App/managedEnvironments/write, Owner nebo Contributor k vašemu účtu pro prostředek prostředí Container Apps.
- Pokud už některou z těchto rolí máte, přejděte do části Získat adresu URL řídicího panelu a získejte adresu URL a zobrazte řídicí panel.
- Pokud chcete vytvořit vlastní definici role a přiřadit ji k účtu, proveďte kroky v následující části , vytvořte a přiřaďte vlastní roli.
- Pokud chcete svému účtu přiřadit roli
OwnerneboContributorpro zdroj, proveďte toto přiřazení a pak přejděte do sekce Získat adresu URL řídicího panelu.
Vytvoření a přiřazení vlastní role
Vytvořte vlastní definici role. Před spuštěním tohoto příkazu nahraďte zástupný symbol v hodnotě
AssignableScopesID vašeho předplatného.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>"] }'Získejte ID prostředku prostředí Container Apps.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)Přiřaďte vlastní roli vašemu účtu pro prostředek prostředí Container Apps. Před spuštěním tohoto příkazu nahraďte zástupné ID v hodnotě
assigneevaším ID uživatelského objektu nebo ID objektu služby.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_ID
Získání adresy URL řídicího panelu
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_FIRST \
--query properties.ingress.fqdn \
--output tsv
Tento příkaz vrátí adresu URL, kterou můžete použít pro přístup k řídicímu panelu Serveru Eureka for Spring. Na řídicím panelu můžete ověřit, že se nastavení serveru Eureka skládá ze dvou replik.
Vyčištění prostředků
Prostředky vytvořené v tomto kurzu ovlivní vaše vyúčtování za využívání Azure. Pokud tyto služby nebudete používat v dlouhodobém horizontu, 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