Краткое руководство. Развертывание приложений микрослужб в Azure Spring Apps
Статья
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
В этой статье объясняется, как развернуть приложения микрослужб в Azure Spring Apps с помощью известного примера приложения PetClinic.
Пример клиники домашних животных демонстрирует шаблон архитектуры микрослужб. На следующей схеме показана архитектура приложения PetClinic в плане Azure Spring Apps Enterprise.
На схеме показаны следующие архитектурные потоки и связи примера "Клиника домашних животных":
Использует Azure Spring Apps для управления внешними и внутренними приложениями. Серверные приложения создаются с помощью Spring Boot, и каждое приложение использует HSQLDB в качестве постоянного хранилища. Повторное интерфейсное приложение строится на основе приложения шлюза API pet clinic с Node.js выступая в качестве автономного веб-приложения.
Использует управляемые компоненты в Azure Spring Apps, включая реестр служб, службу конфигурации приложений, Шлюз Spring Cloud и режим реального просмотра приложений. Служба конфигурации приложений считывает конфигурацию репозитория Git.
Предоставляет URL-адрес Spring Cloud Gateway для маршрутизации запросов к внутренним приложениям-службам и предоставляет URL-адрес динамического представления приложения для мониторинга внутренних приложений.
Анализирует журналы с помощью рабочей области Log Analytics.
Отслеживает производительность с помощью Application Insights.
Примечание.
В этой статье используется упрощенная версия PetClinic, использующая базу данных в памяти, которая не готова к быстрому развертыванию в Azure Spring Apps.
Средства разработчика Tanzu предоставляют общедоступный доступ для Application Live View, который является точкой риска. Рабочая среда должна защитить доступ. Дополнительные сведения см. в разделе " Настройка портала средств разработки" в разделе "Настройка средств разработки Tanzu" в плане Azure Spring Apps Enterprise.
Пример клиники домашних животных демонстрирует шаблон архитектуры микрослужб. На следующей схеме показана архитектура приложения PetClinic в плане Azure Spring Apps Standard.
На схеме показаны следующие архитектурные потоки и связи примера "Клиника домашних животных":
Использует Azure Spring Apps для управления приложениями Spring Boot. Каждое приложение использует HSQLDB в качестве постоянного хранилища.
Использует управляемые компоненты Spring Cloud Config Server и Реестр служб Eureka в Azure Spring Apps. Сервер конфигурации Git считывает конфигурацию репозитория Git.
Предоставляет URL-адрес шлюза API для балансировки нагрузки запросов к приложениям-службам и предоставляет URL-адрес сервера администрирования для управления приложениями.
Анализирует журналы с помощью рабочей области Log Analytics.
Отслеживает производительность с помощью Application Insights.
Примечание.
В этой статье используется упрощенная версия PetClinic, использующая базу данных в памяти, которая не готова к быстрому развертыванию в Azure Spring Apps.
Развернутое приложение admin-server предоставляет общедоступный доступ, который является точкой риска. В рабочей среде необходимо защитить приложение Spring Boot Admin.
В этой статье приведены следующие варианты развертывания в Azure Spring Apps:
Вариант портал Azure — самый простой и самый быстрый способ создания ресурсов и развертывания приложений с помощью одного щелчка мыши. Этот вариант подходит для разработчиков Spring, которые хотят быстро развернуть приложения в облачных службах Azure.
Параметр подключаемого модуля портал Azure + Maven является более обычным способом создания ресурсов и развертывания приложений пошаговые шаги. Этот вариант подходит для разработчиков Spring с помощью облачных служб Azure впервые.
Параметр Azure CLI использует мощное средство командной строки для управления ресурсами Azure. Этот вариант подходит для разработчиков Spring, знакомых с облачными службами Azure.
Параметр подключаемого модуля портал Azure + Maven является более обычным способом создания ресурсов и развертывания приложений пошаговые шаги. Этот вариант подходит для разработчиков Spring с помощью облачных служб Azure впервые.
Вариант командной строки разработчика Azure — это более эффективный способ автоматического создания ресурсов и развертывания приложений с помощью простых команд. Azure Developer CLI использует шаблон для подготовки необходимых ресурсов Azure и развертывания кода приложения. Этот вариант подходит для разработчиков Spring, знакомых с облачными службами Azure.
Если вы развертываете экземпляр плана Azure Spring Apps Enterprise впервые в целевой подписке, см. раздел "Требования" плана Enterprise в Azure Marketplace.
Если вы развертываете экземпляр плана Azure Spring Apps Enterprise впервые в целевой подписке, см. раздел "Требования" плана Enterprise в Azure Marketplace.
Если вы развертываете экземпляр плана Azure Spring Apps Enterprise впервые в целевой подписке, см. раздел "Требования" плана Enterprise в Azure Marketplace.
В следующем списке описывается взаимодействие с командой:
Введите новое имя среды: укажите имя среды, которое используется в качестве суффикса для группы ресурсов, созданной для хранения всех ресурсов Azure. Это имя должно быть уникальным в подписке Azure.
Initializing a new project (azd init)
Downloading template code to: <your-local-path>
(✓) Done: Initialized git repository
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Подготовка облачной среды
В этом разделе описывается создание экземпляра службы Azure Spring Apps и подготовка облачной среды Azure.
Перейдите к портал Azure, введите свои учетные данные и войдите на портал. Панель мониторинга службы является представлением по умолчанию.
3.2. Создание экземпляра Azure Spring Apps
Чтобы создать экземпляр службы, выполните следующие действия.
Выберите "Создать ресурс" в углу портал Azure.
На вкладке "Службы Azure" выберите "Вычисления>Azure Spring Apps".
На странице "Создание Azure Spring Apps" заполните форму на вкладке "Основные сведения".
Используйте следующую таблицу в качестве руководства для завершения формы. Рекомендуемый план — "Стандартный".
Параметр
Предлагаемое значение
Description
Подписка
Имя подписки.
Подписка Azure, которую вы хотите использовать для сервера. Если у вас несколько подписок, выберите подписку, для которой вы хотите выставлять счет за ресурс.
Группа ресурсов
myresourcegroup
Новое имя группы ресурсов или уже имеющееся из подписки.
Имя
myasa
Уникальное имя, определяющее экземпляр Azure Spring Apps. Его длина должна быть от 4 до 32 знаков. Имя может содержать только строчные буквы, цифры и дефисы. Первым символом в имени службы должна быть буква, а последним — буква или цифра.
План
Стандартные
План ценообразования определяет ресурсы и затраты, связанные с вашим экземпляром.
Регион
Регион, ближайший к вашим пользователям.
Ближайшее к пользователям расположение.
Избыточность между зонами
не выбрано
Создает службу Azure Spring Apps в зоне доступности Azure. В настоящее время не поддерживается во всех регионах.
Перейдите на вкладку "Параметры диагностики " на странице "Создание Azure Spring Apps" и выберите "Создать новую ", чтобы создать экземпляр рабочих областей Log Analytics. На странице создания рабочей области Log Analytics обновите имя рабочей области Log Analytics, а затем нажмите кнопку "ОК", чтобы подтвердить создание.
Перейдите на вкладку Application Insights на странице "Создание Azure Spring Apps" , а затем выберите "Создать" , чтобы создать новый экземпляр Application Insights. На странице "Создание нового ресурса Application Insights" обновите имя Application Insights при необходимости, выберите рабочую область для режима ресурсов и нажмите кнопку "ОК", чтобы подтвердить создание.
Выберите "Рецензирование" и " Создать ", чтобы просмотреть выбранные варианты. Затем выберите "Создать ", чтобы подготовить экземпляр Azure Spring Apps.
Щелкните значок уведомлений (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать "Закрепить на панели мониторинга", чтобы создать ярлык на панели мониторинга портал Azure на странице обзора службы.
Выберите "Перейти к ресурсу", чтобы перейти на страницу обзора Azure Spring Apps.
Используйте следующую команду, чтобы упаковать развертываемую копию приложения, подготовить инфраструктуру шаблона в Azure, а затем развернуть код приложения в новых подготовленных ресурсах:
azd provision
В следующем списке описаны взаимодействия с командами:
Выберите подписку Azure для использования: используйте стрелки для перемещения, введите для фильтрации и нажмите клавишу ВВОД.
Выберите расположение Azure для использования: используйте стрелки для перемещения, введите для фильтрации, а затем нажмите клавишу ВВОД.
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Примечание.
Выполнение этой команды может занять некоторое время. Индикатор хода выполнения отображается при подготовке ресурсов Azure.
4. Развертывание приложений в Azure Spring Apps
Теперь вы можете развернуть приложение в Azure Spring Apps.
В следующем списке описаны взаимодействия с командами:
Выберите дочерние модули, чтобы настроить(входные номера, разделенные запятыми, например[1-2,4,6], ВВОД, чтобы выбрать ALL): нажмите клавишу ВВОД , чтобы выбрать все.
Вход OAuth2: авторизация входа в Azure на основе протокола OAuth2.
Выберите подписку: выберите номер списка подписок созданного экземпляра Azure Spring Apps, который по умолчанию соответствует первой подписке в списке. Если вы используете номер по умолчанию, нажмите клавишу ВВОД напрямую.
Выберите Azure Spring Apps для развертывания: выберите список созданного экземпляра Azure Spring Apps. Если вы используете номер по умолчанию, нажмите клавишу ВВОД напрямую.
Выберите приложения для предоставления общедоступного доступа:(входные номера, разделенные запятыми, например[1-2,4,6], ВВОД, чтобы выбрать NONE): введите 1,5 для admin-server и api-gateway.
Подтвердите сохранение всех указанных выше конфигураций (Y/n): нажмите кнопку y. Если нажать клавишу N, конфигурация не сохраняется в POM-файлах.
Используйте следующую команду для сборки и развертывания каждого приложения:
./mvnw azure-spring-apps:deploy
Для запроса входа OAuth2 авторизуйте имя входа в Azure на основе протокола OAuth2.
Примечание.
Развертывание в Azure Spring Apps может занять до 25 минут.
После выполнения команды журнал отображает выходные данные, аналогичные следующему примеру, что указывает на успешное выполнение всех развертываний:
[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO] InstanceName:admin-server-default-xx-xx-xxx Status:Running Reason:null DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
...
[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
Выполните следующие действия, чтобы упаковать приложение, подготовить ресурсы Azure, необходимые веб-приложению, а затем развернуть в Azure Spring Apps:
Используйте следующую команду, чтобы упаковать развертываемую копию приложения:
Deploying services (azd deploy)
(✓) Done: Deploying service admin-server
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
(✓) Done: Deploying service api-gateway
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
(✓) Done: Deploying service customers-service
- No endpoints were found
(✓) Done: Deploying service vets-service
- No endpoints were found
(✓) Done: Deploying service visits-service
- No endpoints were found
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Примечание.
Можно также использовать azd up для объединения предыдущих трех команд: azd package (пакеты развертываемой копии приложения), azd provision (подготавливает ресурсы Azure) и azd deploy (развертывает код приложения). Дополнительные сведения см. в статье Azure-Samples/spring-petclinic-microservices.
Кнопка "Развернуть в Azure" в следующем разделе запускает интерфейс портал Azure, который развертывает исходный код из репозитория Spring PetClinic. Никаких локальных шагов подготовки не требуется.
Выполните следующие действия на локальном компьютере, если вы хотите проверить приложение перед развертыванием приложения в облаке:
Используйте следующую команду, чтобы клонировать приложение Pet Clinic из GitHub:
Откройте новое окно Bash и перейдите в каталог проекта spring-petclinic-frontend . Используйте следующие команды, чтобы установить зависимости и запустить интерфейсное приложение:
npm install
npm run start
После успешного завершения скрипта перейдите http://localhost:8080 в браузер, чтобы получить доступ к приложению PetClinic.
Выполните следующие действия на локальном компьютере, если вы хотите проверить приложение перед развертыванием приложения в облаке:
Используйте следующую команду, чтобы клонировать приложение Pet Clinic из GitHub:
Откройте новое окно Bash и перейдите в каталог проекта spring-petclinic-frontend . Используйте следующие команды, чтобы установить зависимости и запустить интерфейсное приложение:
npm install
npm run start
После успешного завершения скрипта перейдите http://localhost:8080 в браузер, чтобы получить доступ к приложению PetClinic.
3. Подготовка облачной среды
Основной ресурс, который необходимо запустить в этом примере, — это экземпляр Azure Spring Apps. В этом разделе описывается создание этого ресурса.
В этом разделе используется кнопка "Развернуть в Azure" для запуска интерфейса развертывания в портал Azure. В этом интерфейсе используется шаблон ARM для создания ресурсов Azure.
3.1. Войдите на портал Azure
Перейдите к портал Azure, введите свои учетные данные и войдите на портал. Панель мониторинга службы является представлением по умолчанию.
3.2. Создание ресурсов Azure
Чтобы создать все ресурсы Azure, от которые зависит приложение, выполните следующие действия.
Нажмите следующую кнопку "Развернуть в Azure", чтобы запустить процесс развертывания в портал Azure:
Заполните форму на вкладке "Основные сведения". Используйте следующую таблицу в качестве руководства для завершения формы:
Параметр
Предлагаемое значение
Description
Подписка
Имя подписки.
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс.
Группа ресурсов
myresourcegroup
Новое имя группы ресурсов или уже имеющееся из подписки.
Регион
Регион, ближайший к вашим пользователям.
Регион используется для создания группы ресурсов.
Выберите "Рецензирование" и " Создать ", чтобы просмотреть выбранные варианты. Затем выберите "Создать ", чтобы развернуть приложение в Azure Spring Apps.
На панели инструментов щелкните значок Уведомления (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать "Закрепить на панели мониторинга", которая создает плитку для этой службы на панели мониторинга портал Azure в качестве ярлыка на странице обзора службы. Выберите "Перейти к ресурсу", чтобы открыть страницу обзора службы.
3.1. Войдите на портал Azure
Перейдите к портал Azure и введите учетные данные для входа на портал. Панель мониторинга службы является представлением по умолчанию.
3.2. Создание экземпляра Azure Spring Apps
Чтобы создать экземпляр службы, выполните следующие действия.
Выберите "Создать ресурс" в углу портал Azure.
Выберите Compute>Azure Spring Apps.
Заполните форму на вкладке "Основные сведения". Используйте следующую таблицу в качестве руководства для завершения формы:
Параметр
Предлагаемое значение
Description
Подписка
Имя подписки.
Подписка Azure, которую вы хотите использовать для сервера. Если у вас есть несколько подписок, выберите ту, через которую вы предпочитаете оплачивать этот ресурс.
Группа ресурсов
myresourcegroup
Новое имя группы ресурсов или уже имеющееся из подписки.
Имя
myasa
Уникальное имя, определяющее службу Azure Spring Apps. Его длина должна быть от 4 до 32 знаков. Имя может содержать только строчные буквы, цифры и дефисы. Первым символом в имени службы должна быть буква, а последним — буква или цифра.
Регион
Регион, ближайший к вашим пользователям.
Ближайшее к пользователям расположение.
Варианты размещения и планы
Функции корпоративного уровня
План ценообразования, определяющий ресурс и затраты, связанные с экземпляром.
Избыточность между зонами
не выбрано
Параметр создания службы Azure Spring Apps в зоне доступности Azure. Эта функция в настоящее время не поддерживается во всех регионах.
План IP-адресов программного обеспечения
Оплата по мере использования
План ценообразования, который позволяет платить по мере использования Azure Spring Apps.
Развертывание примера проекта
не выбрано
Параметр для использования встроенного примера приложения.
Перейдите на вкладку "Параметры диагностики " на странице "Создание Azure Spring Apps" и выберите "Создать новую ", чтобы создать экземпляр рабочих областей Log Analytics. На странице создания рабочей области Log Analytics обновите имя рабочей области Log Analytics, а затем нажмите кнопку "ОК", чтобы подтвердить создание.
Перейдите на вкладку Application Insights на странице "Создание Azure Spring Apps" , а затем выберите "Создать" , чтобы создать новый экземпляр Application Insights. На странице "Создание нового ресурса Application Insights" обновите имя Application Insights при необходимости, выберите рабочую область для режима ресурсов и нажмите кнопку "ОК", чтобы подтвердить создание.
Выберите "Рецензирование" и " Создать ", чтобы просмотреть выбранные варианты. Затем выберите "Создать ", чтобы подготовить экземпляр Azure Spring Apps.
Щелкните значок уведомлений (колокольчик), чтобы отслеживать процесс развертывания. После завершения развертывания можно выбрать "Закрепить на панели мониторинга", чтобы создать ярлык на панели мониторинга портал Azure на странице обзора службы.
Выберите "Перейти к ресурсу", чтобы перейти на страницу обзора Azure Spring Apps.
3.3. Настройка экземпляра Azure Spring Apps
В следующих разделах показано, как настроить экземпляр службы.
Создание приложений
Чтобы создать приложения, выполните следующие действия.
В области навигации выберите "Приложения" и выберите " Создать приложение".
На странице "Создание приложения" для имени приложения используйте внешний интерфейс и оставьте все остальные поля со значениями по умолчанию.
Повторите предыдущий шаг, используя каждое из следующих имен приложений:
customers-service
vets-service
visits-service
Нажмите кнопку "Создать" , чтобы завершить создание приложения.
Настройка реестра служб
Чтобы настроить реестр служб, выполните следующие действия.
В области навигации выберите "Реестр служб".
Выберите привязку приложения, выберите "Привязать приложение", выберите customers-service из списка и нажмите кнопку "Применить".
Повторите предыдущий шаг, чтобы привязать следующие приложения:
vets-service
visits-service
Настройка службы конфигурации приложений
Чтобы настроить службу конфигурации приложений, выполните следующие действия.
В области навигации выберите службу конфигурации приложений и выберите "Параметры".
Заполните репозиторий следующими сведениями и нажмите кнопку "Проверить".
После проверки нажмите кнопку "Применить ", чтобы завершить конфигурацию службы конфигурации приложений.
Выберите привязку приложения, выберите "Привязать приложение", выберите customers-service из списка и нажмите кнопку "Применить".
Повторите предыдущий шаг, чтобы привязать следующие приложения:
vets-service
visits-service
Настройка шаблонов файлов конфигурации для приложений
Чтобы задать шаблоны файлов конфигурации, выполните следующие действия.
В области навигации выберите "Приложения" , а затем выберите customers-service приложение.
На странице обзора приложения выберите "Конфигурация", выберите шаблоны файлов конфигурации на вкладке "Общие параметры", а затем выберите приложение и customers-service. Нажмите кнопку "Сохранить", чтобы задать шаблоны файлов конфигурации.
Повторите предыдущий шаг, чтобы сохранить шаблоны файлов конфигурации для следующих приложений:
vets-service: выберите приложение и vets-service.
visits-service: выберите приложение и visits-service.
Настройка шлюза Spring Cloud
В этом разделе показано, как настроить Шлюз Spring Cloud.
Сначала выполните следующие действия, чтобы назначить конечную точку для доступа к шлюзу:
В области навигации выберите Spring Cloud Gateway.
На вкладке "Обзор" выберите "Да ", чтобы назначить конечную точку. Сохраните URL-адрес конечной точки для последующего использования.
Затем настройте маршрутизацию для Spring Cloud Gateway. Так как портал Azure в настоящее время не поддерживает конфигурацию маршрута для Шлюза Spring Cloud, откройте окно Bash и выполните следующие действия Azure CLI для настройки маршрутизации:
Используйте следующую команду, чтобы войти в Azure CLI:
az login
Используйте следующие команды, чтобы установить расширение Azure Spring Apps для Azure CLI и зарегистрировать пространство Microsoft.SaaSимен:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Используйте следующую команду, чтобы принять юридические условия и заявления о конфиденциальности:
Примечание.
Этот шаг необходим, только если подписка никогда не использовалась для создания экземпляра плана Enterprise в Azure Spring Apps.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Создайте переменные для хранения имен ресурсов с помощью следующих команд. Обязательно замените заполнители своими значениями.
Используйте следующие команды для создания приложений для экземпляра Azure Spring Apps:
az spring app create --service ${SPRING_APPS} --name ${APP_FRONTEND}
az spring app create --service ${SPRING_APPS} --name ${APP_CUSTOMERS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VETS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VISITS_SERVICE}
Используйте следующие команды для привязки приложений к реестру служб:
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_CUSTOMERS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VETS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VISITS_SERVICE}
Используйте следующую команду, чтобы создать репозиторий конфигурации для службы конфигурации приложений:
Используйте следующие команды для привязки приложений к службе конфигурации приложений:
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_CUSTOMERS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VETS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VISITS_SERVICE}
Чтобы назначить конечную точку Шлюзу Spring Cloud, используйте следующую команду:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Используйте следующую команду, чтобы задать маршрутизацию для customers-service приложения:
Кнопка "Развернуть в Azure" в предыдущем разделе запускает портал Azure интерфейс, включающий развертывание приложения, поэтому ничего другого не требуется.
В следующем списке описаны взаимодействия с командами:
Выберите дочерние модули для настройки: нажмите клавишу ВВОД , чтобы выбрать все.
Выберите подписку: выберите номер списка подписок созданного экземпляра Azure Spring Apps, который по умолчанию соответствует первой подписке в списке. Если вы используете номер по умолчанию, нажмите клавишу ВВОД напрямую.
Используйте существующие Azure Spring Apps в Azure: нажмите y , чтобы использовать существующий экземпляр Azure Spring Apps.
Выберите приложения для предоставления общедоступного доступа: нажмите клавишу ВВОД , чтобы выбрать нет.
Подтвердите сохранение всех указанных выше конфигураций: нажмите клавишу Y. Если нажать клавишу N, конфигурация не сохраняется в POM-файлах.
Используйте следующую команду для развертывания внутренних приложений:
./mvnw azure-spring-apps:deploy
После выполнения команды вы увидите следующие сообщения журнала о том, что развертывание выполнено успешно:
[INFO] Start deploying artifact(customers-service-3.0.1.jar) to deployment(default) of app(customers-service)...
[INFO] Artifact(customers-service-3.0.1.jar) is successfully deployed to deployment(default) of app(customers-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(vets-service-3.0.1.jar) to deployment(default) of app(vets-service)...
[INFO] Artifact(vets-service-3.0.1.jar) is successfully deployed to deployment(default) of app(vets-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(visits-service-3.0.1.jar) to deployment(default) of app(visits-service)...
[INFO] Artifact(visits-service-3.0.1.jar) is successfully deployed to deployment(default) of app(visits-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Портал Azure не поддерживает развертывание интерфейсных приложений, поэтому для развертывания интерфейсного приложения используйте следующую команду Azure CLI:
az spring app deploy \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--source-path spring-petclinic-frontend \
--build-env BP_WEB_SERVER=nginx
После выполнения команды вы увидите следующие сообщения журнала о том, что развертывание выполнено успешно:
[5/5] Updating deployment in app "frontend" (this operation can take a while to complete)
Azure Spring Apps will use rolling upgrade to update your deployment, you have 1 instance, Azure Spring Apps will update the deployment in 1 round.
The deployment is in round 1, 1 old instance is deleted/deleting and 1 new instance is started/starting
Your application is successfully deployed.
Чтобы развернуть приложения, выполните следующие действия.
Введите корневой каталог проекта и выполните следующую команду, чтобы создать и развернуть интерфейсное приложение:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Используйте следующую команду для сборки customers-service и развертывания приложения:
После завершения развертывания можно найти URL-адрес шлюза Spring Cloud из выходных данных развертывания, как показано на следующем снимке экрана:
Откройте URL-адрес шлюза. Приложение должно выглядеть следующим образом:
5.2. Запрос журналов приложений
После просмотра каждой функции клиники домашних животных рабочая область Log Analytics собирает журналы каждого приложения. Журналы можно проверить с помощью пользовательских запросов, как показано на следующем снимке экрана:
5.3. Мониторинг приложений
Application Insights отслеживает зависимости приложения, как показано на следующей карте трассировки приложений:
URL-адрес динамического представления приложения можно найти в выходных данных развертывания. Откройте URL-адрес динамического представления приложения для мониторинга среды выполнения приложений, как показано на следующем снимке экрана:
5.1. Доступ к приложениям
Используйте конечную точку, назначенную шлюзом Spring Cloud, например https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io. Приложение должно выглядеть следующим образом:
5.2. Запрос журналов приложений
После просмотра каждой функции клиники домашних животных рабочая область Log Analytics собирает журналы каждого приложения. Журналы можно проверить с помощью пользовательских запросов, как показано на следующем снимке экрана:
5.3. Мониторинг приложений
Application Insights отслеживает зависимости приложения, как показано на следующей карте трассировки приложений:
Откройте URL-адрес приложения Live View, предоставляемый средствами разработчика для мониторинга среды выполнения приложений, как показано на следующем снимке экрана:
5.1. Доступ к приложениям
Чтобы получить URL-адрес Шлюза Spring Cloud, используйте следующие команды:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
Приложение должно выглядеть следующим образом:
5.2. Запрос журналов приложений
После просмотра каждой функции клиники домашних животных рабочая область Log Analytics собирает журналы каждого приложения. Журналы можно проверить с помощью пользовательских запросов, как показано на следующем снимке экрана:
5.3. Мониторинг приложений
Application Insights отслеживает зависимости приложения, как показано на следующей карте трассировки приложений:
Используйте следующие команды, чтобы получить URL-адрес для Приложения Live View:
export DEV_TOOL_URL=$(az spring dev-tool show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${DEV_TOOL_URL}/app-live-view"
Откройте URL-адрес динамического представления приложения для мониторинга среды выполнения приложений, как показано на следующем снимке экрана:
5.1. Доступ к приложениям
Используя сведения о URL-адресе в выходных данных журнала развертывания, откройте URL-адрес, предоставляемый приложением с именем api-gateway , например https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Приложение должно выглядеть следующим образом:
5.2. Запрос журналов приложений
После просмотра каждой функции клиники домашних животных рабочая область Log Analytics собирает журналы каждого приложения. Журналы можно проверить с помощью пользовательских запросов, как показано на следующем снимке экрана:
5.3. Мониторинг приложений
Application Insights отслеживает зависимости приложения, как показано на следующей карте трассировки приложений:
Откройте URL-адрес, предоставляемый приложением admin-server для управления приложениями с помощью сервера администрирования Spring Boot, как показано на следующем снимке экрана:
6. Очистка ресурсов
Если вы планируете продолжить работу с последующими краткими руководствами и статьями, эти ресурсы можно не удалять. Если вам больше не нужны ресурсы, вы можете очистить ненужные ресурсы, чтобы избежать расходов Azure.
Выполните следующие действия, чтобы удалить всю группу ресурсов, включая только что созданный экземпляр службы:
Найдите группу ресурсов на портале Azure. В меню навигации выберите группы ресурсов и выберите имя группы ресурсов.
На странице группы ресурсов нажмите кнопку "Удалить". Введите имя группы ресурсов в текстовом поле, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Используйте следующую команду, чтобы удалить все ресурсы Azure, используемые в этом примере приложения:
azd down
В следующем списке описывается взаимодействие с командой:
Общий объем ресурсов для удаления: <общий> объем ресурсов, вы уверены, что хотите продолжить?: Нажмите клавишу y.
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Не забудьте удалить ресурсы, созданные в этой статье, если они больше не нужны. Вы можете удалить группу ресурсов Azure, которая содержит все связанные ресурсы.
Чтобы удалить всю группу ресурсов, выполните следующие действия.
Найдите группу ресурсов на портале Azure. В меню навигации выберите группы ресурсов и выберите имя группы ресурсов.
На странице группы ресурсов нажмите кнопку "Удалить". Введите имя группы ресурсов в текстовом поле, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Чтобы удалить всю группу ресурсов, выполните следующие действия.
Найдите группу ресурсов на портале Azure. В меню навигации выберите группы ресурсов и выберите имя группы ресурсов.
На странице группы ресурсов нажмите кнопку "Удалить". Введите имя группы ресурсов в текстовом поле, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Чтобы удалить группу ресурсов, используйте следующую команду: