Rychlý start: Sestavování a nasazování aplikací do Azure Spring Apps pomocí plánu Enterprise

Poznámka:

Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.

Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.

Tento článek se vztahuje na:❌ Basic/Standard ✔️ Enterprise

V tomto rychlém startu se dozvíte, jak pomocí plánu Enterprise sestavovat a nasazovat aplikace do Azure Spring Apps.

Požadavky

  • Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
  • Vysvětlení a splnění části Požadavky plánu Enterprise na Azure Marketplace
  • Azure CLI verze 2.45.0 nebo vyšší.
  • Git
  • Rozšíření plánu Azure Spring Apps Enterprise Pomocí následujícího příkazu odeberte předchozí verze a nainstalujte nejnovější rozšíření plánu Enterprise. Pokud jste rozšíření nainstalovali dříve spring-cloud , odinstalujte ho, abyste se vyhnuli neshodám konfigurace a verzí.
    az extension add --upgrade --name spring
    az extension remove --name spring-cloud
    

Stažení ukázkové aplikace

Ukázku si můžete stáhnout pomocí následujících příkazů:

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

Zřízení instance služby

K zřízení instance služby Azure Spring Apps použijte následující postup.

  1. Pomocí následujícího příkazu se přihlaste k Azure CLI a zvolte aktivní předplatné:

    az login
    az account list --output table
    az account set --subscription <subscription-ID>
    
  2. Pomocí následujícího příkazu přijměte právní podmínky a prohlášení o zásadách ochrany osobních údajů pro plán Enterprise. Tento krok je nezbytný jenom v případě, že se vaše předplatné nikdy nepoužilo k vytvoření instance plánu Enterprise pro Azure Spring Apps.

    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. Vyberte umístění. Toto umístění musí být umístění podporující plán Azure Spring Apps Enterprise. Další informace najdete v nejčastějších dotazech k Azure Spring Apps.

  4. Pomocí následujících příkazů vytvořte proměnné, které budou obsahovat názvy prostředků. Zástupné symboly nezapomeňte nahradit vlastními hodnotami. Název instance služby Azure Spring Apps musí mít délku 4 až 32 znaků a může obsahovat jenom malá písmena, číslice a pomlčky. První znak názvu služby musí být písmeno a poslední znak musí být písmeno nebo číslo.

    export LOCATION="<location>"
    export RESOURCE_GROUP="<resource-group-name>"
    export SERVICE_NAME="<Azure-Spring-Apps-service-instance-name>"
    export WORKSPACE_NAME="<workspace-name>"
    
  5. Pomocí následujícího příkazu vytvořte skupinu prostředků:

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

    Další informace o skupinách prostředků najdete v tématu Co je Azure Resource Manager?

  6. K vytvoření instance služby Azure Spring Apps použijte následující příkaz:

    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. Pomocí následujícího příkazu vytvořte pracovní prostor služby Log Analytics, který se použije pro vaši službu Azure Spring Apps:

    az monitor log-analytics workspace create \
        --resource-group ${RESOURCE_GROUP} \
        --workspace-name ${WORKSPACE_NAME} \
        --location ${LOCATION}
    
  8. Pomocí následujících příkazů načtěte ID prostředku pro váš pracovní prostor služby Log Analytics a instanci služby Azure Spring Apps:

    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. Pomocí následujícího příkazu nakonfigurujte nastavení diagnostiky pro službu Azure Spring Apps:

    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. Pomocí následujících příkazů vytvořte aplikace pro cart-service, order-service, payment-service, catalog-servicea frontend:

    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}
    

Externalizace konfigurace pomocí služby Application Configuration Service

Ke konfiguraci služby Application Configuration Service použijte následující postup.

  1. Pomocí následujícího příkazu vytvořte úložiště konfigurace pro službu Konfigurace aplikace:

    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. K vytvoření vazby aplikací ke službě Application Configuration Service použijte následující příkazy:

    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}
    

Aktivace registrace a zjišťování služby

K aktivní registraci a zjišťování služby použijte následující příkazy k vytvoření vazby aplikací s registrem služeb:

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}

Nasazení polyglotových aplikací pomocí služby Tanzu Build Service

Pomocí následujícího postupu nasaďte a sestavte aplikace. Před spuštěním jakýchkoli příkazů se ujistěte, že je terminál ve složce projektu.

  1. Pomocí následujícího příkazu vytvořte vlastní tvůrce ve službě Tanzu Build Service:

    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. Pomocí následujícího příkazu sestavte a nasaďte platební službu:

    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. Pomocí následujícího příkazu sestavte a nasaďte službu katalogu:

    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. Pomocí následujícího příkazu sestavte a nasaďte objednávkovou službu:

    az spring app deploy \
        --resource-group ${RESOURCE_GROUP} \
        --name order-service \
        --service ${SERVICE_NAME} \
        --builder quickstart-builder \
        --source-path apps/acme-order
    
  5. Pomocí následujícího příkazu sestavte a nasaďte službu košíku:

    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. K sestavení a nasazení front-endové aplikace použijte následující příkaz:

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

Tip

Při řešení potíží s nasazeními můžete pomocí následujícího příkazu získat streamování protokolů v reálném čase při každém spuštění aplikace: az spring app logs --name <app name> --follow

Směrování požadavků do aplikací pomocí brány Spring Cloud

Pomocí následujících kroků nakonfigurujte bránu Spring Cloud a nakonfigurujte trasy do aplikací.

  1. Pomocí následujícího příkazu přiřaďte koncový bod bráně Spring Cloud:

    az spring gateway update \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --assign-endpoint true
    
  2. Ke konfiguraci informací o rozhraní API brány Spring Cloud použijte následující příkazy:

    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. Pomocí následujícího příkazu vytvořte trasy pro službu košíku:

    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. Pomocí následujícího příkazu vytvořte trasy pro objednávkovou službu:

    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. Pomocí následujícího příkazu vytvořte trasy pro službu katalogu:

    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. Pomocí následujícího příkazu vytvořte trasy pro front-end:

    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. K načtení adresy URL brány Spring Cloud použijte následující příkazy:

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

    Výstupní adresu URL můžete otevřít v prohlížeči a prozkoumat nasazenou aplikaci.

Procházení a vyzkoušení rozhraní API pomocí portálu API

Ke konfiguraci portálu API použijte následující kroky.

  1. Pomocí následujícího příkazu přiřaďte koncový bod k portálu API:

    az spring api-portal update \
        --resource-group ${RESOURCE_GROUP} \
        --service ${SERVICE_NAME} \
        --assign-endpoint true
    
  2. Pomocí následujících příkazů načtěte adresu URL portálu API:

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

    Výstupní adresu URL můžete otevřít v prohlížeči a prozkoumat rozhraní API aplikace.


Vyčištění prostředků

Pokud chcete pokračovat v práci s dalšími rychlými starty a kurzy, můžete tyto prostředky ponechat na místě. Pokud už ji nepotřebujete, odstraňte skupinu prostředků, která odstraní prostředky ve skupině prostředků. Pokud chcete odstranit skupinu prostředků pomocí Azure CLI, použijte následující příkazy:

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

Další kroky

Teď, když jste úspěšně vytvořili a nasadili aplikaci, pokračujte k některým z následujících volitelných rychlých startů: