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

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ů.

  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á bude 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 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.

  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 nahradit zástupný symbol mezi <> hranatými závorkami v hodnotě AssignableScopes 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 -o tsv)
    
  3. 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
    
  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 -o 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 -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.

    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

Další kroky