Sdílet prostřednictvím


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:

  1. Vytvořte server Eureka pro spring.
  2. Vytvořte správce pro Spring a propojte ho se serverem Eureka.
  3. 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

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í
Obor 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.
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 Gi.
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í.
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ě.

Nastavení

Než začnete, vytvořte potřebné prostředky spuštěním následujících příkazů.

  1. 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á je svázaná se serverem Eureka.
    CLIENT_IMAGE Image kontejneru použitá v aplikaci kontejneru Eureka Server.
  2. Přihlaste se k Azure pomocí Azure CLI.

    az login
    
  3. Vytvořte skupinu prostředků.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. 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 naleznete v tématu Vytvoření Serveru Eureka for Spring.

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. Pomocí následujících kroků vytvořte a svážete aplikaci kontejneru se serverem 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.

  1. 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 zástupný symbol v hodnotě AssignableScopes nahradit <SUBSCRIPTION_ID> ID vašeho předplatného.

  2. 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 \
        --output tsv)
    
  3. Přiřaďte roli k účtu.

    Před spuštěním tohoto příkazu nahraďte <USER_OR_SERVICE_PRINCIPAL_ID> zástupný symbol 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
    
  4. 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 \
        --output tsv
    
  5. 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 \
        --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. 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.

    Snímek obrazovky s řídicím panelem Admin for Spring

    Snímek obrazovky s řídicím panelem Eureka Server 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