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.
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>
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
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.
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>"
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?
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
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}
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)
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 } } ]'
Pomocí následujících příkazů vytvořte aplikace pro
cart-service
,order-service
,payment-service
,catalog-service
afrontend
: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.
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"
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.
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
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
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
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
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
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í.
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
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 "*"
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
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
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
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
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.
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
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ů: