Kurz: Připojení ke spravovanému Serveru Eureka for Spring v Azure Container Apps
Eureka Server for Spring je registr služeb, který umožňuje, aby se mikroslužby zaregistrovaly a zjistily další služby. K dispozici jako komponenta Azure Container Apps můžete vytvořit vazbu aplikace kontejneru na Server Eureka pro Spring pro automatickou registraci na serveru Eureka.
V tomto kurzu se naučíte:
- Vytvoření komponenty Eureka Server for Spring Java
- Vytvoření vazby aplikace kontejneru na komponentu Eureka Server for Spring Java
Důležité
V tomto kurzu se používají služby, které můžou ovlivnit fakturu za Azure. Pokud se rozhodnete postupovat podle podrobných pokynů, nezapomeňte odstranit prostředky doporučené v tomto článku, abyste se vyhnuli neočekávané fakturaci.
Požadavky
K dokončení tohoto projektu 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. |
Důležité informace
Při spuštění na Serveru Eureka pro Spring v Azure Container Apps mějte na paměti následující podrobnosti:
Položka | Vysvětlení |
---|---|
Scope | Komponenta Eureka Server for Spring běží ve stejném prostředí jako připojená aplikace kontejneru. |
Škálování | Server Eureka for Spring nemůže škálovat. Vlastnosti minReplicas škálování a maxReplicas obě jsou nastaveny na 1 . Pokud chcete dosáhnout vysoké dostupnosti, můžete se podívat na vytvoření služby Eureka s vysokou dostupností ve službě Azure Container Apps. |
Materiály | Opravili jsme přidělení prostředků kontejneru pro Server Eureka pro Spring. Počet jader procesoru je 0,5 a velikost paměti je 1Gi. |
Ceny | Fakturace Serveru Eureka for Spring spadá do cen založených na spotřebě. Prostředky spotřebované spravovanými komponentami Java se účtují podle sazby aktivní/nečinné. K zastavení fakturace můžete odstranit komponenty, které se už nepoužívají. |
Binding | Kontejnerové aplikace se připojují k komponentě Eureka Server for Spring 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 k Serveru Eureka for Spring. |
Nastavení
Než začnete pracovat se serverem Eureka for Spring, musíte nejprve vytvořit požadované prostředky.
Spuštěním následujících příkazů vytvořte skupinu prostředků, prostředí kontejnerových aplikací.
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 APP_NAME=my-eureka-client export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"
Proměnná Popis LOCATION
Umístění oblasti Azure, kam vytvoříte aplikaci kontejneru a komponentu Java. ENVIRONMENT
Název prostředí Azure Container Apps pro vaši ukázkovou aplikaci. RESOURCE_GROUP
Název skupiny prostředků Azure pro ukázkovou aplikaci EUREKA_COMPONENT_NAME
Název komponenty Java vytvořené pro vaši aplikaci kontejneru. V tomto případě vytvoříte komponentu Eureka Server for Spring Java. IMAGE
Image kontejneru použitá v aplikaci kontejneru. 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
Vytvoření komponenty Eureka Server for Spring Java
Teď, když máte existující prostředí, můžete vytvořit aplikaci kontejneru a svázat ji s instancí komponenty Java Serveru Eureka pro Spring.
Vytvořte komponentu Eureka Server for Spring Java.
az containerapp env java-component eureka-server-for-spring create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME
Volitelné: Aktualizujte konfiguraci komponenty Spring Java serveru Eureka.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
Vytvoření vazby aplikace kontejneru k komponentě Eureka Server for Spring Java
Vytvořte aplikaci kontejneru a vytvořte vazbu na Server Eureka for Spring.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080 \ --bind $EUREKA_COMPONENT_NAME \ --query properties.configuration.ingress.fqdn
Zkopírujte adresu URL aplikace do textového editoru, abyste ji mohli použít v nadcházejícím kroku.
Vraťte se do aplikace kontejneru na portálu a zkopírujte adresu URL aplikace do textového editoru, abyste ji mohli použít v nadcházejícím kroku.
Přejděte na trasu /allRegistrationStatus
a zobrazte všechny aplikace zaregistrované na serveru Eureka Server for Spring.
Vazba vloží do aplikace několik konfigurací jako proměnné prostředí, především vlastnost eureka.client.service-url.defaultZone
. Tato vlastnost označuje interní koncový bod komponenty Java serveru Eureka.
Vazba také vloží následující vlastnosti:
"eureka.client.register-with-eureka": "true"
"eureka.client.fetch-registry": "true"
"eureka.instance.prefer-ip-address": "true"
Vlastnost je nastavena eureka.client.register-with-eureka
na true
vynucení registrace u serveru Eureka. Tato registrace přepíše místní nastavení z application.properties
konfiguračního serveru atd. Pokud ho chcete nastavit na false
, můžete ho přepsat nastavením proměnné prostředí v aplikaci kontejneru.
Je eureka.instance.prefer-ip-address
nastavená true
kvůli konkrétnímu pravidlu překladu DNS v prostředí aplikace kontejneru. Tuto hodnotu neupravujte, abyste vazbu neporušili.
(Volitelné) Zrušení vazby aplikace kontejneru ze komponenty Eureka Server for Spring Java
Pokud chcete odebrat vazbu z aplikace kontejneru, použijte tuto --unbind
možnost.
az containerapp update \
--name $APP_NAME \
--unbind $JAVA_COMPONENT_NAME \
--resource-group $RESOURCE_GROUP
Zobrazení aplikace prostřednictvím řídicího panelu
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": "<YOUR_ROLE_NAME>", "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 "<ROLE_NAME>" \ --scope $ENVIRONMENT_ID
Poznámka:
<> USER_OR_SERVICE_PRINCIPAL_ID obvykle by měla být identita, kterou používáte pro přístup k webu Azure Portal. <> ROLE_NAME je název, který jste přiřadili v kroku 1.
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.
Volitelné: Integrace serveru Eureka pro komponenty Spring a Admin for Spring Java
Pokud chcete integrovat server Eureka pro Spring a správce pro komponenty Spring Java, přečtěte si téma Integrace spravovaného správce pro Spring s Eureka Serverem for Spring.
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