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

Poznámka:

Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.

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ů: