Учебник. Развертывание в Контейнерах приложений Azure с помощью Visual Studio

С помощью Контейнеры приложений Azure можно запускать микрослужбы и контейнерные приложения на бессерверной платформе. С Container Apps вы получаете преимущества запуска контейнеров, избавляясь от необходимости вручную настраивать облачную инфраструктуру и управлять сложными оркестраторами контейнеров.

В этом руководстве вы развернете контейнерное приложение ASP.NET Core 10.0 для Контейнеры приложений Azure с помощью Visual Studio. Действия, описанные здесь, также применяются к более ранним версиям ASP.NET Core.

Предварительные требования

Создание проекта

Создайте контейнерное приложение ASP.NET Core.

  1. В Visual Studio выберите Файл, а затем Создать>Проект/Решение.

  2. В диалоговом окне найдите ASP.NET, а затем выберите ASP.NET Core веб-приложение и нажмите кнопку "Далее".

  3. В поле Имя проекта укажите имя приложения MyContainerApp и нажмите кнопку Далее.

  4. На экране "Дополнительные сведения" выберите "Включить поддержку контейнеров". Убедитесь, что Linux выбран для параметра ОС контейнера .

    Снимок экрана, на котором показан параметр для включения docker.

    В этом руководстве используйте контейнеры Linux. Выбор этого параметра гарантирует, что шаблон проекта поддерживает контейнеризацию по умолчанию. Хотя он включен, проект использует контейнер при запуске или сборке.

  5. Для типа сборки контейнера выберите Dockerfile.

  6. Выберите "Создать" и Visual Studio создает и загружает проект.

Развертывание на платформе "Контейнеры приложений Azure"

Приложение включает Dockerfile, так как в шаблоне проекта был выбран параметр «Включить Docker». Visual Studio использует Dockerfile для создания образа контейнера, который выполняется в Контейнеры приложений Azure.

Дополнительные сведения о специфике этого процесса см. в разделе "Настройка контейнеров" в Visual Studio.

Теперь вы готовы развернуть приложение в приложениях контейнеров Azure.

Создание ресурсов

Окна Publish в Visual Studio помогают вам выбрать существующие ресурсы Azure или создать новые для развертывания. Этот процесс также создает образ контейнера, отправляет образ в Реестр контейнеров Azure и развертывает новый образ приложения контейнера.

  1. Щелкните правой кнопкой мыши узел проекта MyContainerApp и выберите Публикация.

  2. В диалоговом окне из списка параметров публикации выберите Azureи нажмите кнопку Далее.

    Снимок экрана, на котором показана публикация в Azure.

  3. На экране конкретного целевого объекта выберите Контейнеры приложений Azure (Linux) и нажмите кнопку "Далее".

    Снимок экрана: выбранные приложения-контейнеры.

  4. Создайте приложение контейнера Azure для размещения проекта. Нажмите кнопку "Создать" рядом с зеленым + значком. В диалоговом окне Создание введите следующие значения:

    • Имя приложения-контейнера: введите имя msdocscontainerapp.

    • Имя подписки: выберите подписку для размещения приложения.

    • Группа ресурсов. Группа ресурсов выступает в качестве логического контейнера для упорядочения связанных ресурсов в Azure. Можно выбрать существующую группу ресурсов или выбрать новую , чтобы создать ее с именем, который вы выбрали, например msdocscontainerapps.

    • Среда приложений контейнеров. Каждое приложение-контейнер должно быть частью среды приложения контейнера. Среда обеспечивает изолированную сеть для одного или нескольких контейнерных приложений, что позволяет им легко вызывать друг друга. Выберите "Создать" , чтобы открыть диалоговое окно для среды приложения контейнера. Оставьте значения по умолчанию и нажмите ОК, чтобы закрыть диалоговое окно среды.

    • Имя контейнера: это понятное пользователю имя контейнера, который используется в этом приложении-контейнере. Используйте имя msdocscontainer1 в рамках этого краткого руководства. Контейнерное приложение обычно выполняется в одном контейнере, но иногда требуется несколько контейнеров. Одним из таких примеров является ситуация, когда для выполнения таких функций, как специализированное ведение журналов или обеспечение связи, требуется sidecar-контейнер.

      Снимок экрана, показывающий, как создать новые приложения-контейнеры.

  5. Нажмите кнопку "Создать ", чтобы завершить создание приложения контейнера. Visual Studio и Azure создадут необходимые ресурсы от вашего имени. Этот процесс может занять несколько минут. Позвольте ему запуститься, прежде чем продолжить.

  6. После создания ресурсов нажмите кнопку "Далее".

    Снимок экрана: выбор созданного ресурса.

  7. На экране Реестр можно выбрать существующий реестр, если он у вас есть, или создать новый. Чтобы создать новую, нажмите кнопку "Создать новую " рядом с зеленым + значком. На экране "Создание" введите следующие значения:

    • Префикс DNS: введите значение msdocscontainerregistry или имя на свой выбор.
    • Имя подписки. Выберите подписку, которую вы хотите использовать. Вы можете выбрать только один из них.
    • Группа ресурсов: выберите созданную ранее группу ресурсов msdocs.
    • SKU: выберите Стандартный.
    • Расположение реестра: выберите географически близкий к вам регион.

    Снимок экрана: создание реестра контейнеров.

  8. После заполнения этих значений нажмите кнопку "Создать". Visual Studio и Azure занимают некоторое время, чтобы создать реестр.

  9. После создания реестра контейнеров убедитесь, что он выбран, а затем нажмите кнопку "Готово". Visual Studio занимает некоторое время для создания профиля публикации. Этот профиль публикации — это место, в котором Visual Studio хранит выбранные параметры публикации и ресурсы, чтобы можно было быстро опубликовать их всякий раз, когда вы хотите. После завершения диалогового окна можно закрыть.

    Снимок экрана: выбор созданного реестра.

Публикация приложения с помощью Visual Studio

Хотя ресурсы и профиль публикации созданы, вам все равно нужно опубликовать и развернуть приложение в Azure.

Выберите Опубликовать в правом верхнем углу экрана профиля публикации, чтобы развернуть контейнерное приложение, созданное в Azure. Этот процесс может занять некоторое время, поэтому дождитесь завершения.

Снимок экрана: публикация приложения.

Когда развертывание приложения завершится, Visual Studio откроет браузер по URL-адресу развернутого сайта. Эта страница может первоначально отобразить ошибку, если все необходимые ресурсы не подготовлены. Периодически обновляйте браузер, чтобы проверить, завершено ли развертывание полностью.

Снимок экрана: опубликованный сайт.

Публикация приложения с помощью GitHub Actions

Вы также можете развернуть приложения-контейнеры с помощью CI/CD через GitHub Actions. GitHub Actions — это мощный инструмент для автоматизации, настройки и выполнения рабочих процессов разработки непосредственно через репозиторий GitHub проекта.

Если Visual Studio обнаруживает, что проект, который вы публикуете, размещен в GitHub, поток публикации представляет еще один шаг типа развертывания. На этом этапе разработчики могут выбрать, как выполнять публикацию: непосредственно через Visual Studio с помощью действий, описанных ранее в кратком руководстве, или с помощью рабочего процесса GitHub Actions.

Снимок экрана: тип развертывания.

Если выбрать рабочий процесс GitHub Actions, Visual Studio создает папку github в корневой каталог проекта, включая созданный файл YAML. Этот YAML-файл содержит конфигурации GitHub Actions для сборки и развертывания приложения в Azure при каждой отправке кода.

После внесения изменений и отправки кода можно проследить за выполнением процесса сборки и развертывания в GitHub на вкладке Действия. На этой странице представлены подробные журналы и индикаторы хода выполнения и состояния рабочего процесса.

Снимок экрана: действия GitHub.

Рабочий процесс завершается, когда появится зеленая галочка рядом с заданиями сборки и развертывания. При переходе на сайт приложений-контейнеров вы увидите последние изменения, примененные. URL-адрес контейнерного приложения можно найти на странице портала Azure.

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

Если вы не планируете использовать это приложение, можно удалить экземпляр Контейнеры приложений Azure и все связанные службы, удалив группу ресурсов.

Чтобы удалить созданные ресурсы, выполните следующие действия в портал Azure.

  1. В разделе Обзор выберите группу ресурсов msdocscontainerapps.

  2. Нажмите кнопку Удалить группу ресурсов на панели инструментов в разделе Обзор группы ресурсов.

  3. Введите имя группы ресурсов msdocscontainerapps , чтобы подтвердить удаление.

  4. Выберите команду Удалить.

    Процесс удаления группы ресурсов может занять несколько минут.

Совет

Возникли проблемы? Сообщите нам об этом на GitHub, создав обращение в репозитории Контейнеры приложений Azure.

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