Поделиться через


Краткое руководство. Подготовка Azure Spring Apps с помощью Azure CLI

Примечание.

Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.

Эта статья относится к: ❎ Basic ✅ Standard ✅ Enterprise

В настоящем кратком руководстве содержатся сведения о развертывании кластера Azure Spring Apps в существующей виртуальной сети с помощью Azure CLI.

Azure Spring Apps позволяет легко развертывать в Azure приложения Spring без изменений кода. Эта служба управляет инфраструктурой приложений Spring, благодаря чему разработчики могут сосредоточиться на коде. Azure Spring Apps обеспечивает управление жизненным циклом за счет комплексного мониторинга и диагностики, управления конфигурацией, обнаружения служб, интеграции CI/CD, выполнения сине-зеленых развертываний и прочего.

План развертывания Enterprise включает следующие компоненты Tanzu:

  • Служба сборки;
  • Служба конфигурации приложений;
  • Реестр служб
  • Spring Cloud Gateway
  • Портал API.

Необходимые компоненты

Проверка скрипта развертывания Azure CLI

Скрипт развертывания, используемый в этом кратком руководстве, взят из эталонной архитектуры Azure Spring Apps.

#!/bin/bash

echo "Enter Azure Subscription ID: "
read subscription
subscription=$subscription

echo "Enter Azure region for resource deployment: "
read region
location=$region

echo "Enter Azure Spring  Resource Group Name: "
read azurespringrg
azurespring_resource_group_name=$azurespringrg

echo "Enter Azure Spring VNet Resource Group Name: "
read azurespringvnetrg
azurespring_vnet_resource_group_name=$azurespringvnetrg

echo "Enter Azure Spring Spoke VNet : "
read azurespringappspokevnet
azurespringappspokevnet=$azurespringappspokevnet

echo "Enter Azure Spring App SubNet : "
read azurespringappsubnet
azurespring_app_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringappsubnet

echo "Enter Azure Spring Service SubNet : "
read azurespringservicesubnet
azurespring_service_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringservicesubnet

echo "Enter Azure Log Analytics Workspace Resource Group Name: "
read loganalyticsrg
loganalyticsrg=$loganalyticsrg

echo "Enter Log Analytics Workspace Resource Name: "
read workspace
workspaceID='/subscriptions/'$subscription'/resourcegroups/'$loganalyticsrg'/providers/microsoft.operationalinsights/workspaces/'$workspace

echo "Enter Reserved CIDR Ranges for Azure Spring: "
read reservedcidrrange
reservedcidrrange=$reservedcidrrange

echo "Enter key=value pair used for tagging Azure Resources (space separated for multiple tags): "
read tag
tags=$tag

randomstring=$(LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | fold -w 13 | head -n 1)
azurespring_service='spring-'$randomstring #Name of unique Spring resource
azurespring_appinsights=$azurespring_service
azurespring_resourceid='/subscriptions/'$subscription'/resourceGroups/'$azurespring_resource_group_name'/providers/Microsoft.AppPlatform/Spring/'$azurespring_service

# Create Application Insights
az monitor app-insights component create \
    --app ${azurespring_service} \
    --location ${location} \
    --kind web \
    -g ${azurespringrg} \
    --application-type web \
    --workspace ${workspaceID}

az spring create \
    -n ${azurespring_service} \
    -g ${azurespringrg} \
    -l ${location} \
    --sku Standard \
    --app-insights ${azurespring_service} \
    --app-subnet ${azurespring_app_subnet_name} \
    --service-runtime-subnet ${azurespring_service_subnet_name} \
    --reserved-cidr-range ${reservedcidrrange} \
    --tags ${tags}

# Update diagnostic setting for Azure Spring instance
az monitor diagnostic-settings create  \
   --name monitoring \
   --resource ${azurespring_resourceid} \
   --logs    '[{"category": "ApplicationConsole","enabled": true}]' \
   --workspace  ${workspaceID}

Развертывание кластера

Чтобы развернуть кластер Azure Spring Apps с помощью Azure CLI выполните указанные ниже действия:

  1. Войдите в Azure с помощью следующей команды:

    az login
    

    После входа будут выведены сведения обо всех доступных вам подписках. Запишите имя и идентификатор нужной подписки.

  2. Выберите целевую подписку.

    az account set --subscription "<your subscription name>"
    
  3. Зарегистрируйте поставщика ресурсов Azure Spring Apps.

    az provider register --namespace 'Microsoft.AppPlatform'
    
  4. Добавьте необходимые расширения в Azure CLI.

    az extension add --name spring
    
  5. Выберите расположение развертывания из регионов, в которых доступна служба Azure Spring Apps, как показано в статье Доступность продуктов по регионам.

  6. Используйте приведенную ниже команду для создания списка расположений Azure. Запишите краткое значение имени региона, выбранного на предыдущем этапе.

    az account list-locations --output table
    
  7. Создайте группу ресурсов, в которой будет развертываться ресурс.

    az group create --name <your-resource-group-name> --location <location-name>
    
  8. Сохраните сценарий для плана Azure Spring Apps Standard или плана Enterprise локально, а затем запустите его из запроса Bash.

    Стандартный план:

    ./azuredeploySpringStandard.sh
    

    Корпоративный план:

    ./azuredeploySpringEnterprise.sh
    
  9. Укажите приведенные ниже значения при появлении соответствующих запросов от скрипта.

    • Идентификатор подписки Azure, сохраненный ранее.
    • Имя расположения Azure, сохраненное ранее.
    • Имя созданной ранее группы ресурсов
    • Имя группы ресурсов виртуальной сети, где будут развертываться ресурсы.
    • Имя периферийной виртуальной сети (например, vnet-spoke).
    • Имя подсети, используемой службой приложений в Приложениях Azure Spring (например, snet-app).
    • Имя подсети, используемой службой среды выполнения Приложений Azure Spring (например, snet-runtime).
    • Имя группы ресурсов для рабочей области Azure Log Analytics, которая будет использоваться для хранения журналов диагностики.
    • Имя рабочей области Azure Log Analytics (например, la-cb5sqq6574o2a).
    • Диапазоны CIDR из виртуальной сети, используемые службой Azure Spring Apps, (например XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16).
    • Пары "ключ-значение", применяемые в качестве тегов ко всем ресурсам, поддерживающим теги. Дополнительные сведения см. в статье Использование тегов для упорядочивания ресурсов Azure и создания иерархии управления. Используйте список с разделителями-пробелами, чтобы применить несколько тегов (например, environment=Dev BusinessUnit=finance).

После указания этих сведений скрипт создаст и развернет ресурсы Azure.

Просмотр развернутых ресурсов

Вы можете использовать портал Azure, чтобы проверить развернутые ресурсы, либо Azure CLI, чтобы получить список развернутых ресурсов.

Очистка ресурсов

Если вы планируете продолжить работу с последующими краткими руководствами и статьями, эти ресурсы можно не удалять. Удалите ненужную группу ресурсов. Ресурсы в ней будут также удалены. Чтобы удалить группу ресурсов с помощью Azure CLI, используйте следующие команды:

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

Следующие шаги

В настоящем кратком руководстве вы научились развертывать экземпляр Azure Spring Apps в существующей виртуальной сети с помощью Azure CLI, а затем проверять результаты развертывания. Дополнительные сведения о Azure Spring Apps содержатся в статьях ниже.