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


Oktatóanyag: Csatlakozás felügyelt Eureka Server for Springhez az Azure Container Appsben (előzetes verzió)

Az Eureka Server for Spring egy szolgáltatásregisztrációs adatbázis, amellyel a mikroszolgáltatások regisztrálhatják magukat, és felfedezhetnek más szolgáltatásokat. Az Azure Container Apps-összetevőként elérhető tárolóalkalmazást egy Eureka Server for Spring-kiszolgálóhoz kötheti az Eureka-kiszolgálóval való automatikus regisztrációhoz.

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

  • Eureka Server for Spring Java-összetevő létrehozása
  • Tárolóalkalmazás kötése az Eureka Server for Spring Java összetevőhöz

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

Amikor az Eureka Server for Springben fut az Azure Container Appsben, vegye figyelembe az alábbi részleteket:

Elem Magyarázat
Hatókör Az Eureka Server for Spring összetevő ugyanabban a környezetben fut, mint a csatlakoztatott tárolóalkalmazás.
Méretezés Az Eureka Server for Spring nem méretezhető. A skálázási tulajdonságok minReplicas és maxReplicas mindkettő a következőre 1van állítva: .
Erőforrások Az Eureka Server for Spring tárolóerőforrás-foglalása ki lett javítva. A processzormagok száma 0,5, a memória mérete pedig 1Gi.
Árképzés Az Eureka Server for Spring számlázása a fogyasztásalapú díjszabás alá tartozik. A felügyelt Java-ö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 Eureka Server for Spring-ö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 Eureka Server for Springhez.

Beállítás

Mielőtt elkezdené használni az Eureka Server for Springt, először létre kell hoznia a szükséges erőforrásokat.

Hajtsa végre az alábbi parancsokat az erőforráscsoport, a tárolóalkalmazások környezetének létrehozásához.

  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-services-resource-group
    export ENVIRONMENT=my-environment
    export EUREKA_COMPONENT_NAME=eureka
    export APP_NAME=sample-service-eureka-client
    export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-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.
    EUREKA_COMPONENT_NAME A tárolóalkalmazáshoz létrehozott Java-összetevő neve. Ebben az esetben létre kell hoznia egy Eureka Server for Spring Java-összetevőt.
    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
    
  4. Hozza létre a tárolóalkalmazás-környezetet.

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

Az Eureka Server for Spring Java összetevő létrehozása

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

  1. Hozza létre az Eureka Server for Spring Java összetevőt.

    az containerapp env java-component eureka-server-for-spring create \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $EUREKA_COMPONENT_NAME
    
  2. Nem kötelező: Frissítse az Eureka Server for Spring Java összetevő konfigurációját.

    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
    

A tárolóalkalmazás kötése az Eureka Server for Spring Java összetevőhöz

  1. Hozza létre a tárolóalkalmazást, és kapcsolódjon a Spring-hez készült Eureka-kiszolgáló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 $EUREKA_COMPONENT_NAME \
      --query properties.configuration.ingress.fqdn
    

    Ez a parancs az Eureka-kiszolgáló összetevőjéhez tartozó regisztrációkat használó tárolóalkalmazás URL-címét adja vissza. Másolja az URL-címet egy szövegszerkesztőbe, hogy egy következő lépésben használhassa.

    Navigáljon az útvonal tetején az /allRegistrationStatus Eureka Server for Springben regisztrált összes alkalmazás megtekintéséhez.

    A kötés számos konfigurációt injektál az alkalmazásba környezeti változókként, elsősorban a eureka.client.service-url.defaultZone tulajdonságként. Ez a tulajdonság az Eureka Server Java-összetevő belső végpontját jelzi.

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

    "eureka.client.register-with-eureka":    "true"
    "eureka.instance.prefer-ip-address":     "true"
    

    A eureka.client.register-with-eureka tulajdonság úgy van beállítva, hogy true kényszerítse a regisztrációt az Eureka-kiszolgálón. Ez a regisztráció felülírja a helyi beállítást application.propertiesa konfigurációs kiszolgálóról és így tovább. Ha ezt szeretné beállítani false, felülírhatja egy környezeti változó beállításával a tárolóalkalmazásban.

    A eureka.instance.prefer-ip-address beállítás a tárolóalkalmazás-környezetben megadott DNS-feloldási szabály miatt van beállítva true . Ne módosítsa ezt az értéket, hogy ne szegje meg a kötést.

    A kötéseket az alkalmazásból is eltávolíthatja.

Az alkalmazás megtekintése irányítópulton keresztül

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": "<YOUR_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 helyőrzőt az <> érték szögletes zárójelei között cserélje le az AssignableScopes előfizetés-azonosítóra.

  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 az Eureka Server for Spring-irányítópult URL-címét.

    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
    

    Ez a parancs az Eureka Server for Spring irányítópult eléréséhez használható URL-címet adja vissza. 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 az Eureka Server for Spring irányítópultjáról.

Nem kötelező: Az Eureka Server for Spring és a Admin for Spring Java összetevőinek integrálása

Ha integrálni szeretné az Eureka Server for Spring-kiszolgálót és a Spring Java-összetevők rendszergazdáit, olvassa el a Spring felügyelt rendszergazdájának integrálása az Eureka Server for Spring szolgáltatással című témakört.

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