Megosztás a következőn keresztül:


Oktatóanyag: Csatlakozás a Spring felügyelt rendszergazdájához az Azure Container Appsben

A Spring-felügyelet által felügyelt összetevő egy felügyeleti felületet biztosít a Spring Boot-webalkalmazásokhoz, amelyek aktuátorvégpontokat fednek le. Az Azure Container Apps felügyelt összetevőjeként egyszerűen kötheti a tárolóalkalmazást a Spring rendszergazdájához a zökkenőmentes integráció és felügyelet érdekében.

Ez az oktatóanyag bemutatja, hogyan hozhat létre rendszergazdat a Spring Java-összetevőhöz, és hogyan kötheti azt a tárolóalkalmazáshoz, hogy könnyedén monitorozza és felügyelhesse Spring-alkalmazásait.

Képernyőkép a Rendszergazda a Spring Insightshoz irányítópult áttekintéséről.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Rendszergazda létrehozása Spring Java-összetevőhöz
  • Tárolóalkalmazás kötése a Spring Java-összetevő rendszergazdájához

Feljegyzés

Ha integrálni szeretné a Spring rendszergazdát az Eureka Server for Spring szolgáltatással, olvassa el a Spring rendszergazdájának integrálása az Azure Container Appsben az Eureka Server for Spring szolgáltatással című témakört.

Fontos

Ez az oktatóanyag olyan szolgáltatásokat használ, amelyek hatással lehetnek az Azure-számlájára. Ha lépésről lépésre halad, a váratlan számlázás elkerülése érdekében törölje a cikkben szereplő erőforrásokat.

Előfeltételek

A projekt végrehajtásához a következő elemekre van szüksége:

Követelmény Utasítások
Azure-fiók Aktív előfizetésre van szükség. Ha még nem rendelkezik fiókkal, ingyen létrehozhat egyet.
Azure CLI Telepítse az Azure CLI-t.

Megfontolások

Az Azure Container Appsben a Spring-rendszergazda futtatásakor vegye figyelembe a következő részleteket:

Elem Magyarázat
Hatókör Az összetevők ugyanabban a környezetben futnak, mint a csatlakoztatott tárolóalkalmazás.
Méretezés Az összetevő nem skálázható. A skálázási tulajdonságok minReplicas és maxReplicas mindkettő a következőre 1van állítva: .
Erőforrások Az összetevők tárolóerőforrás-lefoglalása ki van javítva. A processzormagok száma 0,5, a memória mérete pedig 1Gi.
Árképzés Az összetevők számlázása a használatalapú díjszabás alá tartozik. A felügyelt összetevők által felhasznált erőforrások számlázása az aktív/tétlen díjszabás szerint van kiszámlázva. Törölheti azokat az összetevőket, amelyek már nincsenek használatban a számlázás leállításához.
Kötés A tárolóalkalmazások kötéssel csatlakoznak egy összetevőhöz. A kötések konfigurációkat injektálnak a tárolóalkalmazás környezeti változóiba. A kötés létrehozása után a tárolóalkalmazás beolvassa a környezeti változók konfigurációs értékeit, és csatlakozhat az összetevőhöz.

Beállítás

Mielőtt elkezdene dolgozni a Spring rendszergazdájával, először létre kell hoznia a szükséges erőforrásokat.

Az alábbi parancsok segítségével létrehozhatja az erőforráscsoportot és a Container Apps-környezetet.

  1. Hozzon létre változókat az alkalmazáskonfiguráció támogatásához. Ezeket az értékeket a lecke céljaira biztosítjuk.

    export LOCATION=eastus
    export RESOURCE_GROUP=my-resource-group
    export ENVIRONMENT=my-environment
    export JAVA_COMPONENT_NAME=admin
    export APP_NAME=sample-admin-client
    export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-admin-for-spring-client:latest"
    
    Változó Leírás
    LOCATION Az Azure-régió helye, ahol a tárolóalkalmazást és a Java-összetevőt hozza létre.
    ENVIRONMENT A bemutató alkalmazás Azure Container Apps-környezetének neve.
    RESOURCE_GROUP A bemutató alkalmazás Azure-erőforráscsoportjának neve.
    JAVA_COMPONENT_NAME A tárolóalkalmazáshoz létrehozott Java-összetevő neve. Ebben az esetben létre kell hoznia egy Rendszergazda a Spring Java-összetevőhöz.
    IMAGE A tárolóalkalmazásban használt tárolórendszerkép.
  2. Jelentkezzen be az Azure-ba az Azure CLI-vel.

    az login
    
  3. Hozzon létre egy erőforráscsoportot.

    az group create \
      --name $RESOURCE_GROUP \
      --location $LOCATION \
      --query "properties.provisioningState"
    

    --query A paraméter használatával a választ egy egyszerű sikeres vagy sikertelen üzenetre szűri le.

  4. Hozza létre a tárolóalkalmazás-környezetet.

    az containerapp env create \
      --name $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --location $LOCATION
    

Az összetevő használata

Most, hogy már rendelkezik egy meglévő környezettel, létrehozhatja a tárolóalkalmazást, és a Spring-összetevőhöz tartozó Rendszergazda egy Java-összetevőpéldányához kötheti.

  1. Hozza létre a Spring Java rendszergazdája összetevőt.

    az containerapp env java-component admin-for-spring create \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $JAVA_COMPONENT_NAME \
      --min-replicas 1 \
      --max-replicas 1
    
  2. Frissítse a Spring Java rendszergazdája összetevőt.

    az containerapp env java-component admin-for-spring create \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $JAVA_COMPONENT_NAME \
      --min-replicas 2 \
      --max-replicas 2
    

A tárolóalkalmazás kötése a Spring Java rendszergazdájához összetevőhöz

  1. Hozza létre a tárolóalkalmazást, és kössön a Spring rendszergazdájához.

    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 $JAVA_COMPONENT_NAME
    

A kötési művelet a tárolóalkalmazást a Spring Java felügyeleti összetevőjéhez köti. A tárolóalkalmazás mostantól beolvassa a környezeti változók konfigurációs értékeit, elsősorban a SPRING_BOOT_ADMIN_CLIENT_URL tulajdonságot, és csatlakozhat a Spring rendszergazdájához.

A kötés a következő tulajdonságot is injektálja:

"SPRING_BOOT_ADMIN_CLIENT_INSTANCE_PREFER-IP": "true",

Ez a tulajdonság azt jelzi, hogy a Spring-összetevő-ügyfél rendszergazdájának előnyben kell részesítenie a tárolóalkalmazás-példány IP-címét, amikor a Spring-kiszolgáló rendszergazdájához csatlakozik.

(Nem kötelező) A tárolóalkalmazás leválasztása a Spring Java felügyeleti összetevőjéről

Ha el szeretne távolítani egy kötést egy tárolóalkalmazásból, használja a --unbind lehetőséget.

  az containerapp update \
    --name $APP_NAME \
    --unbind $JAVA_COMPONENT_NAME \
    --resource-group $RESOURCE_GROUP

Az irányítópult megtekintése

Fontos

Az irányítópult megtekintéséhez legalább a Microsoft.App/managedEnvironments/write fiókhoz hozzárendelt szerepkört kell hozzárendelnie a felügyelt környezeti erőforráshoz. Explicit módon hozzárendelhet Owner vagy Contributor szerepkört az erőforráshoz, vagy a lépéseket követve létrehozhat egy egyéni szerepkördefiníciót, és hozzárendelheti azt a fiókjához.

  1. Hozza létre az egyéni szerepkördefiníciót.

    az role definition create --role-definition '{
        "Name": "<ROLE_NAME>",
        "IsCustom": true,
        "Description": "Can access managed Java Component dashboards in managed environments",
        "Actions": [
            "Microsoft.App/managedEnvironments/write"
        ],
        "AssignableScopes": ["/subscriptions/<SUBSCRIPTION_ID>"]
    }'
    

    Ügyeljen arra, hogy a zárójelek közötti <> helyőrzőket cserélje le az értékekre.

  2. Rendelje hozzá az egyéni szerepkört a fiókjához felügyelt környezeti erőforráson.

    Kérje le a felügyelt környezet erőforrás-azonosítóját:

    export ENVIRONMENT_ID=$(az containerapp env show \
        --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ 
        --query id -o tsv)
    
  3. Rendelje hozzá a szerepkört a fiókjához.

    A parancs futtatása előtt cserélje le a zárójelek közötti <> helyőrzőt a felhasználó vagy szolgáltatásnév azonosítójára.

    az role assignment create \
      --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \
      --role "<ROLE_NAME>" \
      --scope $ENVIRONMENT_ID
    

    Feljegyzés

    <> USER_OR_SERVICE_PRINCIPAL_ID általában az Azure Portal eléréséhez használt identitásnak kell lennie. <> ROLE_NAME az 1. lépésben hozzárendelt név.

  4. Kérje le a Rendszergazda a Springhez irányítópult URL-címét.

    az containerapp env java-component admin-for-spring show \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $JAVA_COMPONENT_NAME \
      --query properties.ingress.fqdn -o tsv
    

    Ez a parancs azt az URL-címet adja vissza, amelyet a Spring-irányítópulthoz való hozzáféréshez használhat. Az irányítópulton keresztül a tárolóalkalmazás is az Ön számára érhető el, ahogyan az alábbi képernyőképen látható.

    Képernyőkép a Rendszergazda a Springhez irányítópult áttekintéséről.

Az erőforrások eltávolítása

Az oktatóanyagban létrehozott erőforrások hatással vannak az Azure-számlára. Ha nem fogja hosszú távon használni ezeket a szolgáltatásokat, futtassa a következő parancsot az oktatóanyagban létrehozott összes eltávolításához.

az group delete \
  --resource-group $RESOURCE_GROUP

Következő lépések