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

Megjegyzé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 egy ideig a régi nevet fogja látni, miközben dolgozunk az objektumok, például képernyőképek, videók és diagramok frissítésén.

Ez a cikk a következőkre vonatkozik:❌ Alapszintű/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. Hozzon létre ingyenes fiókot.
  • A Vállalati csomagkövetelmények szakaszának megismerése és teljesítése Azure Marketplace.
  • Az Azure CLI 2.45.0-s vagy újabb verziója.
  • Git.
  • Az Azure Spring Apps Enterprise-csomagbővítmény. Az alábbi paranccsal távolítsa el a korábbi verziókat, és telepítse a legújabb Vállalati csomagbővítményt. Ha korábban telepítette a bővítményt, távolítsa el, hogy elkerülje a spring-cloud konfiguráció és a verzióeltéréseket.
    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 építhet ki 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 vá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ését soha nem használták 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óért tekintse meg az Azure Spring Apps gyakori kérdéseit.

  4. Hozzon létre egy erőforráscsoportot a következő paranccsal:

    az group create \
        --name <resource-group-name> \
        --location <location>
    

    Az erőforráscsoportokkal kapcsolatos további információkért lásd: Mi az az Azure Resource Manager?.

  5. Készítse elő az Azure Spring Apps szolgáltatáspéldány nevét. A névnek 4–32 karakter 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, az utolsó karakternek pedig betűnek vagy számnak kell lennie.

  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> \
        --name <Azure-Spring-Apps-service-instance-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, amelyet az Azure Spring Apps szolgáltatáshoz szeretne használni:

    az monitor log-analytics workspace create \
        --resource-group <resource-group-name> \
        --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-name> \
        --workspace-name <workspace-name> \
        --query id \
        --output tsv)
    
    export AZURE_SPRING_APPS_RESOURCE_ID=$(az spring show \
        --resource-group <resource-group-name> \
        --name <Azure-Spring-Apps-service-instance-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öz cart-service: , order-service, payment-service, catalog-serviceés frontend:

    az spring app create \
        --resource-group <resource-group-name> \
        --name cart-service \
        --service <Azure-Spring-Apps-service-instance-name>
    
    az spring app create \
        --resource-group <resource-group-name> \
        --name order-service \
        --service <Azure-Spring-Apps-service-instance-name>
    
    az spring app create \
        --resource-group <resource-group-name> \
        --name payment-service \
        --service <Azure-Spring-Apps-service-instance-name>
    
    az spring app create \
        --resource-group <resource-group-name> \
        --name catalog-service \
        --service <Azure-Spring-Apps-service-instance-name>
    
    az spring app create \
        --resource-group <resource-group-name> \
        --name frontend \
        --service <Azure-Spring-Apps-service-instance-name>
    

Konfiguráció externalizálása az Alkalmazáskonfigurációs szolgáltatással

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> \
        --name acme-fitness-store-config \
        --service <Azure-Spring-Apps-service-instance-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-name> \
        --app payment-service \
        --service <Azure-Spring-Apps-service-instance-name>
    
    az spring application-configuration-service bind \
        --resource-group <resource-group-name> \
        --app catalog-service \
        --service <Azure-Spring-Apps-service-instance-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ötheti az alkalmazásokat a Service Registryhez:

az spring service-registry bind \
    --resource-group <resource-group-name> \
    --app payment-service \
    --service <Azure-Spring-Apps-service-instance-name>

az spring service-registry bind \
    --resource-group <resource-group-name> \
    --app catalog-service \
    --service <Azure-Spring-Apps-service-instance-name>

Többplatformos alkalmazások üzembe helyezése a Tanzu buildszolgáltatással

Az alkalmazások üzembe helyezéséhez és létrehozásához kövesse az alábbi lépéseket. Ezen lépések végrehajtá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> \
        --name quickstart-builder \
        --service <Azure-Spring-Apps-service-instance-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> \
        --name payment-service \
        --service <Azure-Spring-Apps-service-instance-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> \
        --name catalog-service \
        --service <Azure-Spring-Apps-service-instance-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 a következő parancsot:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --name order-service \
        --service <Azure-Spring-Apps-service-instance-name> \
        --builder quickstart-builder \
        --source-path apps/acme-order
    
  5. A cart 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> \
        --name cart-service \
        --service <Azure-Spring-Apps-service-instance-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 a következő parancsot:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --name frontend \
        --service <Azure-Spring-Apps-service-instance-name> \
        --source-path apps/acme-shopping
    

Tipp

Az üzembe helyezések hibaelhárításához a következő 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

Az alábbi lépésekkel konfigurálhatja a Spring Cloud Gatewayt, és konfigurálhatja az alkalmazások útvonalait.

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

    az spring gateway update \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --assign-endpoint true
    
  2. A Spring Cloud Gateway API-adatainak konfigurálásához használja az alábbi parancsokat:

    export GATEWAY_URL=$(az spring gateway show \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --query properties.url \
        --output tsv)
    
    az spring gateway update \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --api-description "Fitness Store API" \
        --api-title "Fitness Store" \
        --api-version "v1.0" \
        --server-url "https://${GATEWAY_URL}" \
        --allowed-origins "*"
    
  3. Az alábbi paranccsal hozzon létre útvonalakat a kosárszolgáltatáshoz:

    az spring gateway route-config create \
        --resource-group <resource-group-name> \
        --name cart-routes \
        --service <Azure-Spring-Apps-service-instance-name> \
        --app-name cart-service \
        --routes-file azure-spring-apps-enterprise/resources/json/routes/cart-service.json
    
  4. Az alábbi paranccsal hozzon létre útvonalakat a rendelési szolgáltatáshoz:

    az spring gateway route-config create \
        --resource-group <resource-group-name> \
        --name order-routes \
        --service <Azure-Spring-Apps-service-instance-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> \
        --name catalog-routes \
        --service <Azure-Spring-Apps-service-instance-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érhez:

    az spring gateway route-config create \
        --resource-group <resource-group-name> \
        --name frontend-routes \
        --service <Azure-Spring-Apps-service-instance-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-name> \
        --service <Azure-Spring-Apps-service-instance-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 hozzá egy végpontot az API Portalhoz:

    az spring api-portal update \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --assign-endpoint true
    
  2. Az API Portal URL-címének lekéréséhez használja az alábbi parancsokat:

    export PORTAL_URL=$(az spring api-portal show \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-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-jának 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 helyben 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 a következő választható rövid útmutatók bármelyikével: