Rövid útmutató: Alkalmazások létrehozása és üzembe helyezése az Azure Spring Appsben a Nagyvállalati csomag használatával

Feljegyzés

Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.

Ez a cikk a következőre vonatkozik:❌ Basic/Standard ✔️ Enterprise

Ez a rövid útmutató bemutatja, hogyan hozhat létre és helyezhet üzembe alkalmazásokat az Azure Spring Appsben a Nagyvállalati csomag használatával.

Előfeltételek

  • Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
  • A Nagyvállalati csomag Követelmények szakaszának megismerése és teljesítése az Azure Marketplace-en.
  • Az Azure CLI 2.45.0-s vagy újabb verziója.
  • Git.
  • Az Azure Spring Apps Enterprise csomagbővítménye. A következő paranccsal távolítsa el a korábbi verziókat, és telepítse a legújabb Enterprise-csomagbővítményt. Ha korábban telepítette a spring-cloud bővítményt, távolítsa el a bővítményt a konfiguráció és a verzióeltérések elkerülése érdekében.
    az extension add --upgrade --name spring
    az extension remove --name spring-cloud
    

A mintaalkalmazás letöltése

A minta letöltéséhez használja az alábbi parancsokat:

git clone https://github.com/Azure-Samples/acme-fitness-store
cd acme-fitness-store

Szolgáltatáspéldány kiépítése

Az alábbi lépésekkel kiépíteni egy Azure Spring Apps-szolgáltatáspéldányt.

  1. Az alábbi paranccsal jelentkezzen be az Azure CLI-be, és válassza ki az aktív előfizetését:

    az login
    az account list --output table
    az account set --subscription <subscription-ID>
    
  2. Az alábbi paranccsal fogadja el a Nagyvállalati csomagra vonatkozó jogi feltételeket és adatvédelmi nyilatkozatokat. Erre a lépésre csak akkor van szükség, ha az előfizetése még soha nem lett használva az Azure Spring Apps nagyvállalati csomagpéldányának létrehozásához.

    az provider register --namespace Microsoft.SaaS
    az term accept \
        --publisher vmware-inc \
        --product azure-spring-cloud-vmware-tanzu-2 \
        --plan asa-ent-hr-mtr
    
  3. Válasszon ki egy helyet. Ennek a helynek az Azure Spring Apps Enterprise-csomagot támogató helynek kell lennie. További információkért tekintse meg az Azure Spring Apps gyakori kérdéseit.

  4. Hozzon létre változókat az erőforrásnevek tárolásához az alábbi parancsokkal. Mindenképpen cserélje le a helyőrzőket a saját értékeire. Az Azure Spring Apps-szolgáltatáspéldány nevének 4 és 32 karakter közötti hosszúságúnak kell lennie, és csak kisbetűket, számokat és kötőjeleket tartalmazhat. A szolgáltatásnév első karakterének betűnek kell lennie, az utolsó karakternek pedig betűnek vagy számnak kell lennie.

    export LOCATION="<location>"
    export RESOURCE_GROUP="<resource-group-name>"
    export SERVICE_NAME="<Azure-Spring-Apps-service-instance-name>"
    export WORKSPACE_NAME="<workspace-name>"
    
  5. Erőforráscsoport létrehozásához használja a következő parancsot:

    az group create \
        --name ${RESOURCE_GROUP} \
        --location ${LOCATION}
    

    További információ az erőforráscsoportokról: Mi az Az Azure Resource Manager?.

  6. Az alábbi paranccsal hozzon létre egy Azure Spring Apps-szolgáltatáspéldányt:

    az spring create \
        --resource-group ${RESOURCE_GROUP} \
        --name ${SERVICE_NAME} \
        --sku enterprise \
        --enable-application-configuration-service \
        --enable-service-registry \
        --enable-gateway \
        --enable-api-portal
    
  7. Az alábbi paranccsal hozzon létre egy Log Analytics-munkaterületet az Azure Spring Apps szolgáltatáshoz:

    az monitor log-analytics workspace create \
        --resource-group ${RESOURCE_GROUP} \
        --workspace-name ${WORKSPACE_NAME} \
        --location ${LOCATION}
    
  8. Az alábbi parancsokkal kérje le a Log Analytics-munkaterület és az Azure Spring Apps szolgáltatáspéldány erőforrás-azonosítóját:

    export LOG_ANALYTICS_RESOURCE_ID=$(az monitor log-analytics workspace show \
        --resource-group ${RESOURCE_GROUP} \
        --workspace-name ${WORKSPACE_NAME} \
        --query id \
        --output tsv)
    
    export AZURE_SPRING_APPS_RESOURCE_ID=$(az spring show \
        --resource-group ${RESOURCE_GROUP} \
        --name ${SERVICE_NAME} \
        --query id \
        --output tsv)
    
  9. Az Alábbi paranccsal konfigurálhatja az Azure Spring Apps Service diagnosztikai beállításait:

    az monitor diagnostic-settings create \
        --name "send-logs-and-metrics-to-log-analytics" \
        --resource ${AZURE_SPRING_APPS_RESOURCE_ID} \
        --workspace ${LOG_ANALYTICS_RESOURCE_ID} \
        --logs '[
             {
               "category": "ApplicationConsole",
               "enabled": true,
               "retentionPolicy": {
                 "enabled": false,
                 "days": 0
               }
             },
             {
                "category": "SystemLogs",
                "enabled": true,
                "retentionPolicy": {
                  "enabled": false,
                  "days": 0
                }
              },
             {
                "category": "IngressLogs",
                "enabled": true,
                "retentionPolicy": {
                  "enabled": false,
                  "days": 0
                 }
               }
           ]' \
           --metrics '[
             {
               "category": "AllMetrics",
               "enabled": true,
               "retentionPolicy": {
                 "enabled": false,
                 "days": 0
               }
             }
           ]'
    
  10. A következő parancsokkal hozhat létre alkalmazásokat a következőhözcart-service: order-servicepayment-servicecatalog-servicefrontend

    az spring app create \
        --resource-group ${RESOURCE_GROUP} \
        --name cart-service \
        --service ${SERVICE_NAME}
    
    az spring app create \
        --resource-group ${RESOURCE_GROUP} \
        --name order-service \
        --service ${SERVICE_NAME}
    
    az spring app create \
        --resource-group ${RESOURCE_GROUP} \
        --name payment-service \
        --service ${SERVICE_NAME}
    
    az spring app create \
        --resource-group ${RESOURCE_GROUP} \
        --name catalog-service \
        --service ${SERVICE_NAME}
    
    az spring app create \
        --resource-group ${RESOURCE_GROUP} \
        --name frontend \
        --service ${SERVICE_NAME}
    

Konfigurálás külsősítése az Application Configuration Service-vel

Az Alkalmazáskonfigurációs szolgáltatás konfigurálásához kövesse az alábbi lépéseket.

  1. Az alábbi paranccsal hozzon létre egy konfigurációs adattárat az Application Configuration Service-hez:

    az spring application-configuration-service git repo add \
        --resource-group ${RESOURCE_GROUP} \
        --name acme-fitness-store-config \
        --service ${SERVICE_NAME} \
        --label main \
        --patterns "catalog/default,catalog/key-vault,identity/default,identity/key-vault,payment/default" \
        --uri "https://github.com/Azure-Samples/acme-fitness-store-config"
    
  2. Az alábbi parancsokkal kötheti az alkalmazásokat az Application Configuration Service-hez:

    az spring application-configuration-service bind \
        --resource-group ${RESOURCE_GROUP} \
        --app payment-service \
        --service ${SERVICE_NAME}
    
    az spring application-configuration-service bind \
        --resource-group ${RESOURCE_GROUP} \
        --app catalog-service \
        --service ${SERVICE_NAME}
    

Szolgáltatásregisztráció és -felderítés aktiválása

Az aktív szolgáltatásregisztrációhoz és -felderítéshez az alábbi parancsokkal kösse az alkalmazásokat a Service Registryhez:

az spring service-registry bind \
    --resource-group ${RESOURCE_GROUP} \
    --app payment-service \
    --service ${SERVICE_NAME}

az spring service-registry bind \
    --resource-group ${RESOURCE_GROUP} \
    --app catalog-service \
    --service ${SERVICE_NAME}

Többplatformos alkalmazások üzembe helyezése a Tanzu Build Service használatával

Az alkalmazások üzembe helyezéséhez és összeállításához kövesse az alábbi lépéseket. Ezen lépések végrehajtásához minden parancs futtatása előtt győződjön meg arról, hogy a terminál a projektmappában van.

  1. Az alábbi paranccsal hozzon létre egy egyéni szerkesztőt a Tanzu Build Service-ben:

    az spring build-service builder create \
        --resource-group ${RESOURCE_GROUP} \
        --name quickstart-builder \
        --service ${SERVICE_NAME} \
        --builder-file azure-spring-apps-enterprise/resources/json/tbs/builder.json
    
  2. A fizetési szolgáltatás létrehozásához és üzembe helyezéséhez használja a következő parancsot:

    az spring app deploy \
        --resource-group ${RESOURCE_GROUP} \
        --name payment-service \
        --service ${SERVICE_NAME} \
        --config-file-pattern payment/default \
        --source-path apps/acme-payment \
        --build-env BP_JVM_VERSION=17
    
  3. A katalógusszolgáltatás létrehozásához és üzembe helyezéséhez használja a következő parancsot:

    az spring app deploy \
        --resource-group ${RESOURCE_GROUP} \
        --name catalog-service \
        --service ${SERVICE_NAME} \
        --config-file-pattern catalog/default \
        --source-path apps/acme-catalog \
        --build-env BP_JVM_VERSION=17
    
  4. A rendelési szolgáltatás létrehozásához és üzembe helyezéséhez használja az alábbi parancsot:

    az spring app deploy \
        --resource-group ${RESOURCE_GROUP} \
        --name order-service \
        --service ${SERVICE_NAME} \
        --builder quickstart-builder \
        --source-path apps/acme-order
    
  5. A kosárszolgáltatás létrehozásához és üzembe helyezéséhez használja az alábbi parancsot:

    az spring app deploy \
        --resource-group ${RESOURCE_GROUP} \
        --name cart-service \
        --service ${SERVICE_NAME} \
        --builder quickstart-builder \
        --env "CART_PORT=8080" \
        --source-path apps/acme-cart
    
  6. Az előtérbeli alkalmazás létrehozásához és üzembe helyezéséhez használja az alábbi parancsot:

    az spring app deploy \
        --resource-group ${RESOURCE_GROUP} \
        --name frontend \
        --service ${SERVICE_NAME} \
        --source-path apps/acme-shopping
    

Tipp.

Az üzemelő példányok hibaelhárításához az alábbi paranccsal valós időben streamelheti a naplókat, amikor az alkalmazás fut: az spring app logs --name <app name> --follow.

Kérelmek átirányítása alkalmazásokhoz a Spring Cloud Gateway használatával

A Spring Cloud Gateway konfigurálásához és az alkalmazások útvonalainak konfigurálásához kövesse az alábbi lépéseket.

  1. A következő paranccsal rendeljen végpontot a Spring Cloud Gatewayhez:

    az spring gateway update \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --assign-endpoint true
    
  2. A Spring Cloud Gateway API-információinak konfigurálásához használja az alábbi parancsokat:

    export GATEWAY_URL=$(az spring gateway show \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --query properties.url \
        --output tsv)
    
    az spring gateway update \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --api-description "Fitness Store API" \
        --api-title "Fitness Store" \
        --api-version "v1.0" \
        --server-url "https://${GATEWAY_URL}" \
        --allowed-origins "*"
    
  3. A következő paranccsal hozzon létre útvonalakat a kosár szolgáltatáshoz:

    az spring gateway route-config create \
        --resource-group ${RESOURCE_GROUP} \
        --name cart-routes \
        --service ${SERVICE_NAME} \
        --app-name cart-service \
        --routes-file azure-spring-apps-enterprise/resources/json/routes/cart-service.json
    
  4. A következő paranccsal hozzon létre útvonalakat a rendelési szolgáltatáshoz:

    az spring gateway route-config create \
        --resource-group ${RESOURCE_GROUP} \
        --name order-routes \
        --service ${SERVICE_NAME} \
        --app-name order-service \
        --routes-file azure-spring-apps-enterprise/resources/json/routes/order-service.json
    
  5. Az alábbi paranccsal hozzon létre útvonalakat a katalógusszolgáltatáshoz:

    az spring gateway route-config create \
        --resource-group ${RESOURCE_GROUP} \
        --name catalog-routes \
        --service ${SERVICE_NAME} \
        --app-name catalog-service \
        --routes-file azure-spring-apps-enterprise/resources/json/routes/catalog-service.json
    
  6. Az alábbi paranccsal hozzon létre útvonalakat az előtérben:

    az spring gateway route-config create \
        --resource-group ${RESOURCE_GROUP} \
        --name frontend-routes \
        --service ${SERVICE_NAME} \
        --app-name frontend \
        --routes-file azure-spring-apps-enterprise/resources/json/routes/frontend.json
    
  7. A Spring Cloud Gateway URL-címének lekéréséhez használja az alábbi parancsokat:

    export GATEWAY_URL=$(az spring gateway show \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --query properties.url \
        --output tsv)
    
    echo "https://${GATEWAY_URL}"
    

    A kimeneti URL-címet megnyithatja egy böngészőben az üzembe helyezett alkalmazás felderítéséhez.

Api-k tallózása és kipróbálás az API Portallal

Az API Portal konfigurálásához kövesse az alábbi lépéseket.

  1. A következő paranccsal rendeljen végpontot az API Portalhoz:

    az spring api-portal update \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --assign-endpoint true
    
  2. Az API Portal URL-címének lekéréséhez használja a következő parancsokat:

    export PORTAL_URL=$(az spring api-portal show \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --query properties.url \
        --output tsv)
    
    echo "https://${PORTAL_URL}"
    

    A kimeneti URL-címet megnyithatja egy böngészőben az alkalmazás API-inak megismeréséhez.


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

Ha további rövid útmutatókkal és oktatóanyagokkal szeretne dolgozni, érdemes lehet ezeket az erőforrásokat a helyén hagyni. Ha már nincs rá szükség, törölje az erőforráscsoportot, amely törli az erőforráscsoport erőforrásait. Ha törölni szeretné az erőforráscsoportot az Azure CLI használatával, használja a következő parancsokat:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Következő lépések

Most, hogy sikeresen elkészítette és üzembe helyezte az alkalmazást, folytassa az alábbi választható rövid útmutatók bármelyikével: