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.
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 1 van á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.
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. Jelentkezzen be az Azure-ba az Azure CLI-vel.
az login
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.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.
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
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
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.
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.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)
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.
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ó.
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