Краткое руководство. Создание и развертывание приложений в Azure Spring Apps с помощью плана Enterprise
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к:❌ Basic/Standard ✔️ Enterprise
В этом кратком руководстве показано, как создавать и развертывать приложения в Azure Spring Apps с помощью плана Enterprise.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Изучите и выполните раздел "Требования" плана Enterprise в Azure Marketplace.
- Azure CLI версии 2.45.0 или более поздней.
- Git.
- Расширение плана Azure Spring Apps Enterprise. Используйте следующую команду, чтобы удалить предыдущие версии и установить последнее расширение плана Enterprise. Если вы ранее установили
spring-cloud
расширение, удалите его, чтобы избежать несоответствий конфигурации и версий.az extension add --upgrade --name spring az extension remove --name spring-cloud
загрузка примера приложения;
Чтобы скачать пример, используйте следующие команды:
git clone https://github.com/Azure-Samples/acme-fitness-store
cd acme-fitness-store
подготовка экземпляра службы к работе;
Чтобы подготовить экземпляр службы "Приложения Azure Spring", выполните следующие действия:
Войдите в Azure CLI и выберите активную подписку, выполнив следующую команду:
az login az account list --output table az account set --subscription <subscription-ID>
Используйте следующую команду, чтобы принять юридические условия и заявления о конфиденциальности для плана Enterprise. Этот шаг необходим, только если подписка никогда не использовалась для создания экземпляра плана Enterprise в 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
Выберите расположение. Это расположение должно быть расположением, поддерживающим план Azure Spring Apps Enterprise. Дополнительные сведения см. в статье Часто задаваемые вопросы о Приложениях Azure Spring.
Создайте переменные для хранения имен ресурсов с помощью следующих команд. Обязательно замените заполнители своими значениями. Имя экземпляра службы Azure Spring Apps должно быть от 4 до 32 символов и может содержать только строчные буквы, цифры и дефисы. Первым символом в имени службы должна быть буква, а последним — буква или цифра.
export LOCATION="<location>" export RESOURCE_GROUP="<resource-group-name>" export SERVICE_NAME="<Azure-Spring-Apps-service-instance-name>" export WORKSPACE_NAME="<workspace-name>"
Выполните следующую команду, чтобы создать группу ресурсов.
az group create \ --name ${RESOURCE_GROUP} \ --location ${LOCATION}
Дополнительные сведения о группах ресурсов см. в статье Общие сведения об Azure Resource Manager.
Чтобы создать экземпляр службы "Приложения Azure Spring", используйте следующую команду:
az spring create \ --resource-group ${RESOURCE_GROUP} \ --name ${SERVICE_NAME} \ --sku enterprise \ --enable-application-configuration-service \ --enable-service-registry \ --enable-gateway \ --enable-api-portal
Чтобы создать рабочую область Log Analytics, которая будет использоваться для службы "Приложения Azure Spring", используйте следующую команду:
az monitor log-analytics workspace create \ --resource-group ${RESOURCE_GROUP} \ --workspace-name ${WORKSPACE_NAME} \ --location ${LOCATION}
Чтобы получить идентификатор ресурса для рабочей области Log Analytics и экземпляра службы "Приложения Azure Spring", используйте следующие команды:
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)
Чтобы настроить параметры диагностики для службы "Приложения Azure Spring", используйте следующую команду:
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 } } ]'
Чтобы создать приложения для
cart-service
,order-service
,payment-service
,catalog-service
и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}
Внешняя конфигурация с использованием Службы конфигурации приложений
Чтобы настроить Службу конфигурации приложений, выполните следующие действия:
Чтобы создать репозиторий конфигурации для Службы конфигурации приложений, используйте следующую команду:
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"
Для привязки приложений к Службе конфигурации приложений используйте следующие команды:
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}
Активация регистрации и обнаружения служб
Чтобы активировать регистрацию и обнаружение служб, используйте следующие команды для привязки приложений к Реестру служб:
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}
Развертывание приложений polyglot с помощью Службы сборки Tanzu
Для развертывания и сборки приложения выполните приведенные ниже действия. Для выполнения этих шагов убедитесь, что терминал находится в папке проекта, прежде чем выполнять какие-либо команды:
Чтобы создать пользовательский построитель в Службе сборки Tanzu, используйте следующую команду:
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
Для сборки и развертывания службы платежей используйте следующую команду:
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
Для сборки и развертывания службы каталогов используйте следующую команду:
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
Для сборки и развертывания службы управления заказами используйте следующую команду:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${SERVICE_NAME} \ --builder quickstart-builder \ --source-path apps/acme-order
Для сборки и развертывания службы управления корзиной используйте следующую команду:
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
Для сборки и развертывания интерфейсного приложения используйте следующую команду:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name frontend \ --service ${SERVICE_NAME} \ --source-path apps/acme-shopping
Совет
Чтобы устранить неполадки с развертываниями, можно использовать следующую команду для получения журналов потоковой передачи в реальном времени при выполнении приложения: az spring app logs --name <app name> --follow
.
Маршрутизация запросов к приложениям с помощью Шлюза Spring Cloud
Выполните следующие действия, чтобы настроить Шлюз Spring Cloud и маршруты для приложений.
Чтобы назначить конечную точку Шлюзу Spring Cloud, используйте следующую команду:
az spring gateway update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Чтобы указать сведения об API Шлюза Spring Cloud, используйте следующие команды:
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 "*"
Чтобы создать маршруты для службы управления корзиной, используйте следующую команду:
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
Чтобы создать маршруты для службы управления заказами, используйте следующую команду:
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
Чтобы создать маршруты для службы каталогов, используйте следующую команду:
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
Чтобы создать маршруты для внешнего интерфейса, используйте следующую команду:
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
Чтобы получить URL-адрес Шлюза Spring Cloud, используйте следующие команды:
export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) echo "https://${GATEWAY_URL}"
Вы можете перейти по выходному URL-адресу в браузере, чтобы просмотреть развернутое приложение.
Просмотр и пробное использование интерфейсов API с помощью Портала API
Для настройки портала API выполните следующие действия.
Чтобы назначить конечную точку порталу API, используйте следующую команду:
az spring api-portal update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Чтобы получить URL-адрес портала 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}"
Вы можете перейти по выходному URL-адресу в браузере, чтобы просмотреть интерфейсы API приложения.
Очистка ресурсов
Если вы планируете продолжить работу с последующими краткими руководствами и статьями, эти ресурсы можно не удалять. Удалите ненужную группу ресурсов. Ресурсы в ней будут также удалены. Чтобы удалить группу ресурсов с помощью Azure CLI, используйте следующие команды:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Следующие шаги
Теперь, когда вы успешно создали и развернули приложение, перейдите к любому из следующих дополнительных кратких руководств: