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


Rövid útmutató: Az első Java-mikroszolgáltatási alkalmazás elindítása felügyelt Java-összetevőkkel az Azure Container Appsben

Ebben a rövid útmutatóban megtudhatja, hogyan helyezhet üzembe egy alkalmazást az Azure Container Appsben, amely Java-összetevőkkel kezeli a konfigurációkezelést, a szolgáltatásfelderítést, valamint az állapotot és a metrikákat. A példában használt mintaalkalmazás a Java PetClinic, amely a mikroszolgáltatás-architektúra mintáját használja. Az alábbi ábra a PetClinic-alkalmazás architektúráját mutatja be az Azure Container Appsben:

A Java-összetevők és a mikroszolgáltatási alkalmazások közötti kapcsolat ábrája.

A PetClinic alkalmazás a következő funkciókat tartalmazza:

  • A felhasználói felület egy önálló Node.js webalkalmazás, amely az API átjáró alkalmazásban fut.
  • Az API-átjáró átirányítja a kéréseket a háttérszolgáltatás-alkalmazásoknak.
  • A háttéralkalmazások a Spring Boot használatával készültek.
  • Minden háttéralkalmazás egy HyperSQL-adatbázist használ állandó tárolóként.
  • Az alkalmazások felügyelt Java-összetevőket használnak az Azure Container Appsben, beleértve a szolgáltatásregisztrációs adatbázist, a konfigurációs kiszolgálót és a rendszergazdai kiszolgálót.
  • A konfigurációs kiszolgáló adatokat olvas be egy Git-adattárból.
  • A Log Analytics-munkaterület naplózza a kiszolgáló adatait.

Az oktatóanyag során az alábbi lépéseket fogja végrehajtani:

  • Konfigurációs kiszolgáló, Eureka-kiszolgáló, rendszergazdai kiszolgáló és rendszergazdai összetevők létrehozása
  • Mikroszolgáltatási alkalmazások sorozatának létrehozása
  • A kiszolgáló összetevőinek kötése a mikroszolgáltatás-alkalmazásokhoz
  • Alkalmazások gyűjteményének üzembe helyezése
  • Az üzembe helyezett alkalmazások áttekintése

A cikk végére üzembe helyez egy webalkalmazást és három háttéralkalmazást, amelyek három különböző Java-összetevővel való működésre vannak konfigurálva. Ezután az egyes összetevőket az Azure Portalon kezelheti.

Előfeltételek

  • Azure-fiók: Ha nem rendelkezik Azure-fiókkal, hozzon létre egyet ingyenesen. Az Azure-előfizetéshez szüksége van közreműködői vagy tulajdonosi engedélyre a gyorsútmutató használatához. További információ: Azure-szerepkörök hozzárendelése az Azure Portal használatával.
  • Azure CLI: Az Azure CLI telepítése.
  • Azure Container Apps CLI-bővítmény. Használja a 0.3.47-es vagy újabb verziót. az extension add --name containerapp --upgrade --allow-preview A parancs használatával telepítse a legújabb verziót.

Beállítás

Környezeti változók, erőforráscsoport és Azure Container Apps-környezet létrehozásához kövesse az alábbi lépéseket:

  1. A környezeti változók tartalmazzák az egyéni értékeket, ezért a következő parancsok futtatása előtt cserélje le a saját értékekkel körülvett <> helyőrző értékeket:

    export RESOURCE_GROUP=<RESOURCE_GROUP>
    export LOCATION=<LOCATION>
    export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>
    
  2. Most hozzon létre további környezeti változókat, amelyek tartalmazzák a mikroszolgáltatás-alkalmazás beállításait. Ezek az értékek határozzák meg a Java-összetevők és a mikroszolgáltatások üzembe helyezéséhez használt Azure Container Apps nevét és konfigurációját. A következő parancsokkal hozza létre ezeket a környezeti változókat:

    export CONFIG_SERVER_COMPONENT=configserver
    export ADMIN_SERVER_COMPONENT=admin
    export EUREKA_SERVER_COMPONENT=eureka
    export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git
    export CUSTOMERS_SERVICE=customers-service
    export VETS_SERVICE=vets-service
    export VISITS_SERVICE=visits-service
    export API_GATEWAY=api-gateway
    export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service
    export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service
    export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service
    export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gateway
    
  3. Jelentkezzen be az Azure CLI-be, és válassza ki aktív előfizetését az alábbi paranccsal:

    az login
    
  4. Hozzon létre egy erőforráscsoportot az Azure-szolgáltatások rendszerezéséhez az alábbi paranccsal:

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  5. Hozza létre az Azure Container Apps-környezetet, amely a Java-összetevőket és a tárolóalkalmazásokat is üzemelteti az alábbi paranccsal:

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

Java-összetevők létrehozása

Most hozza létre a következő Java-összetevőket, amelyek támogatják az alkalmazást:

  • Konfigurációs kiszolgáló. A mikroszolgáltatás-alkalmazások konfigurációs beállításainak kezelésére szolgál.
  • Eureka kiszolgáló. A szolgáltatásregisztrációs adatbázis és a felderítés kezelésére szolgál.
  • Rendszergazdai kiszolgáló. A mikroszolgáltatás-alkalmazások állapotának és metrikáinak figyelésére és kezelésére szolgál.

A kiszolgálóösszetevők létrehozásához kövesse az alábbi lépéseket:

  1. Hozza létre a Java-összetevők konfigurációs kiszolgálóját az alábbi paranccsal:

    az containerapp env java-component config-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $CONFIG_SERVER_COMPONENT \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URI
    
  2. Hozza létre az Eureka-kiszolgálót a Java-összetevőkhöz az alábbi paranccsal:

    az containerapp env java-component eureka-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_SERVER_COMPONENT
        --environment $CONTAINER_APP_ENVIRONMENT \
    
  3. Hozza létre az adminisztrátori szervert a Java komponensekhez az alábbi paranccsal:

    az containerapp env java-component admin-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $ADMIN_SERVER_COMPONENT
        --environment $CONTAINER_APP_ENVIRONMENT \
    

A mikroszolgáltatási alkalmazások üzembe helyezése

Ha a Java-mikroszolgáltatási alkalmazásokat az Előre összeállított tárolórendszerképek használatával szeretné üzembe helyezni az Azure Container Appsben, kövesse az alábbi lépéseket:

Feljegyzés

Ebben a cikkben előre elkészített képfájlok sorozatát használja a Spring Petclinic mikroszolgáltatásokhoz. Emellett testre szabhatja a mintakódot, és használhatja a saját rendszerképeit. További információ: azure-container-apps-java-samples GitHub-adattár.

  1. Hozza létre az ügyféladat-alkalmazást a következő paranccsal:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $CUSTOMERS_SERVICE \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $CUSTOMERS_SERVICE_IMAGE
    
  2. Hozza létre a vet alkalmazást a következő paranccsal:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $VETS_SERVICE \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $VETS_SERVICE_IMAGE
    
  3. Hozza létre a látogatási alkalmazást a következő paranccsal:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $VISITS_SERVICE \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $VISITS_SERVICE_IMAGE
    
  4. Hozza létre az API Gateway-alkalmazást a következő paranccsal:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $API_GATEWAY \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $API_GATEWAY_IMAGE \
        --ingress external \
        --target-port 8080 \
        --query properties.configuration.ingress.fqdn 
    

Tárolóalkalmazások kötése Java-összetevőkhöz

Ezután kösse össze a Java-összetevőket a tárolóalkalmazásokkal. Az ebben a szakaszban létrehozott kötések a következő funkciókat biztosítják:

  • Konfigurációs adatok injektálása az egyes alkalmazásokba a felügyelt konfigurációs kiszolgálóról indításkor.
  • Regisztrálja az alkalmazást a felügyelt Eureka-kiszolgálón a szolgáltatásfelderítéshez.
  • Engedélyezze a rendszergazdai kiszolgálónak az alkalmazás monitorozását.

containerapp update A parancs használatával az alábbi lépések végrehajtásával hozhat létre kötéseket az egyes alkalmazásokhoz:

  1. A következő paranccsal adhat kötéseket az ügyféladat-alkalmazáshoz:

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $CUSTOMERS_SERVICE \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
    
  2. A következő paranccsal adjon kapcsolatokat az állatorvosi szolgáltatáshoz:

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $VETS_SERVICE \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
    
  3. A következő paranccsal adjon kapcsolatokat a látogatási szolgáltatáshoz:

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $VISITS_SERVICE \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
    
  4. Kötések hozzáadása az API-átjáróhoz. A következő paranccsal adja vissza az előtérbeli alkalmazás URL-címét, majd nyissa meg ezt a helyet a böngészőben:

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $API_GATEWAY \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \
        --query properties.configuration.ingress.fqdn 
    

Alkalmazás állapotának ellenőrzése

Az alkalmazás állapotának ellenőrzéséhez kövesse az alábbi lépéseket:

  1. Az API-átjáró az containerapp update parancsából visszaadott URL-cím használatával tekintse meg az előtéralkalmazást a böngészőben. Az alkalmazásnak az alábbi képernyőképhez kell hasonlítania:

    Képernyőkép a kisállatklinika alkalmazás kezdőlapjáról.

  2. Tekintse meg az Eureka-kiszolgáló irányítópultját az alábbi lépésekkel:

    Fontos

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

    1. Futtassa a következő parancsot az irányítópult URL-címének visszaadásához:

      az containerapp env java-component eureka-server-for-spring show \
          --resource-group $RESOURCE_GROUP \
          --name $EUREKA_SERVER_COMPONENT \
          --environment $CONTAINER_APP_ENVIRONMENT \
          --query properties.ingress.fqdn
      
    2. Nyissa meg az URL-címet a böngészőben. Az alábbi képernyőképhez hasonló alkalmazásnak kell megjelennie:

      Képernyőkép az Eureka Server kisállatklinika alkalmazásról.

  3. Tekintse meg a Spring Rendszergazda irányítópultját az alábbi lépések segítségével:

    1. Az irányítópult URL-címét a következő paranccsal adja vissza:

      az containerapp env java-component admin-for-spring show \
          --resource-group $RESOURCE_GROUP \
          --name $ADMIN_SERVER_COMPONENT \
          --environment $CONTAINER_APP_ENVIRONMENT \
          --query properties.ingress.fqdn
      
    2. Nyissa meg az URL-címet a böngészőben. Az alábbi képernyőképhez hasonló alkalmazásnak kell megjelennie:

      Képernyőkép a kisállatklinika felügyeleti irányítópultjáról, amelyen öt szolgáltatás látható, valamint négy szolgáltatás verzióadatai.

Nem kötelező: Java-összetevők konfigurálása

Az ebben a rövid útmutatóban létrehozott Java-összetevőket az Azure Portalon konfigurálhatja a Konfigurációk szakasz használatával.

Képernyőkép a Konfigurációk szakaszról, amelyen a tulajdonságnév és az érték szövegmezői láthatók, valamint a tulajdonság törlésének lehetősége.

Az ebben a rövid útmutatóban létrehozott három Java-összetevő konfigurálásával kapcsolatos további információkért tekintse meg az alábbi hivatkozásokat:

Az erőforrások tisztítása

Az ebben a rövid útmutatóban létrehozott erőforrások hatással vannak az Azure-számlájára. Ha nem fogja hosszú távon használni ezeket a szolgáltatásokat, az alábbi paranccsal távolítsa el az ebben a rövid útmutatóban létrehozott összes elemet:

az group delete --resource-group $RESOURCE_GROUP