Краткое руководство. Подготовка 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. Если у вас еще нет подписки, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
- Две выделенные подсети для кластера Azure Spring Apps: одна для среды выполнения службы и вторая для приложений Spring. Подробнее о требованиях к подсети и виртуальной сети см. в разделе Требования виртуальной сети в статье Развертывание Azure Spring Apps в виртуальной сети.
- Существующая рабочая область Log Analytics для параметров диагностики Azure Spring Apps и ресурса Application Insights на основе рабочей области. Дополнительные сведения см. в статье Анализ журналов и метрик с помощью параметров диагностики и Внутрипроцессный агент Java Application Insights в службе Azure Spring Apps.
- Три внутренних диапазона бесклассовой междоменной маршрутизации (CIDR) (как минимум /16 каждый), которые вы определили для использования в кластере Azure Spring Apps. Эти диапазоны CIDR не будут напрямую маршрутизироваться и будут использоваться только внутри кластера Приложений Azure Spring. Кластеры не могут использовать 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 или 192.0.2.0/24 в качестве внутренних диапазонов CIDR для приложения Spring, а также диапазоны IP-адресов, включаемые в диапазон адресов виртуальных сетей кластера.
- Разрешение службы, предоставленное виртуальной сети. Поставщик ресурсов Azure Spring Apps требует
User Access Administrator
иNetwork Contributor
разрешения для виртуальной сети для предоставления выделенного и динамического субъекта-службы в виртуальной сети для дальнейшего развертывания и обслуживания. Инструкции и дополнительные сведения см. в разделе Разрешение службы, предоставленное виртуальной сети статьи Развертывание Azure Spring Apps в виртуальной сети. - Если вы используете Брандмауэр Azure или сетевое виртуальное устройство (NVA), вам также потребуется выполнить следующие предварительные требования:
- Правила для сетевых и полных доменных имен (FQDN). Дополнительные сведения см. в разделе Требования к виртуальной сети.
- Уникальный определяемый пользователем маршрут (UDR), применяемый для каждой подсети среды выполнения службы и подсетей приложения Spring. Дополнительные сведения об использовании протокола UDR см. в разделе Маршрутизация трафика в виртуальной сети. Для UDR необходимо настроить маршрут для 0.0.0.0/0 с указанием назначения NVA перед развертыванием кластера Azure Spring Apps. Дополнительные сведения см. в разделе Использование собственной таблицы маршрутизации статьи Развертывание службы Azure Spring Apps в виртуальной сети.
- Azure CLI
- Если вы развертываете экземпляр плана Azure Spring Apps Enterprise впервые в целевой подписке, см. раздел "Требования" плана Enterprise в Azure Marketplace.
Проверка скрипта развертывания 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 выполните указанные ниже действия:
Войдите в Azure с помощью следующей команды:
az login
После входа будут выведены сведения обо всех доступных вам подписках. Запишите имя и идентификатор нужной подписки.
Выберите целевую подписку.
az account set --subscription "<your subscription name>"
Зарегистрируйте поставщика ресурсов Azure Spring Apps.
az provider register --namespace 'Microsoft.AppPlatform'
Добавьте необходимые расширения в Azure CLI.
az extension add --name spring
Выберите расположение развертывания из регионов, в которых доступна служба Azure Spring Apps, как показано в статье Доступность продуктов по регионам.
Используйте приведенную ниже команду для создания списка расположений Azure. Запишите краткое значение имени региона, выбранного на предыдущем этапе.
az account list-locations --output table
Создайте группу ресурсов, в которой будет развертываться ресурс.
az group create --name <your-resource-group-name> --location <location-name>
Сохраните сценарий для плана Azure Spring Apps Standard или плана Enterprise локально, а затем запустите его из запроса Bash.
Стандартный план:
./azuredeploySpringStandard.sh
Корпоративный план:
./azuredeploySpringEnterprise.sh
Укажите приведенные ниже значения при появлении соответствующих запросов от скрипта.
- Идентификатор подписки 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 содержатся в статьях ниже.
- Разверните одно из следующих примеров приложений из следующих расположений:
- Использование личных доменов в Azure Spring Apps.
- Публикация приложений в Azure Spring Apps в Интернете с помощью Шлюза приложений Azure. Дополнительные сведения см. в разделе "Предоставление приложений с помощью сквозного TLS" в виртуальной сети.
- Просмотр безопасной комплексной эталонной архитектуры Azure Spring Apps на основе продуманной архитектуры Microsoft Azure.