Краткое руководство. Использование Конфигурация приложений Azure в контейнерах приложений Azure

В этом кратком руководстве вы будете использовать Конфигурация приложений Azure в приложении, работающем в контейнере приложений Azure. Таким образом, вы можете централизовать хранение и управление конфигурацией приложений в контейнере приложений. В этом кратком руководстве используется приложение ASP.NET Core, созданное в разделе Краткое руководство. Создание приложения ASP.NET Core с помощью Конфигурация приложений. Вы развернете приложение в контейнере и развернете его в контейнере приложений Azure. Прежде чем продолжить, выполните инструкции из этого краткого руководства.

Совет

При выполнении этого краткого руководства желательно зарегистрировать все новые ресурсы в одной группе ресурсов, чтобы вы могли перегруппировать их все в одном месте и быстрее удалить их, если они больше не нужны.

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


Подключение Конфигурация приложений Azure к приложению-контейнеру

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

  • На вкладке Основные сведения задайте следующие параметры:

    • Выберите Конфигурация приложений в поле Тип службы.

    • Выберите магазин Конфигурация приложений для параметра "Конфигурация приложений"

      Снимок экрана: платформа Azure с формой в меню Service Connector в контейнерном приложении.

  • На вкладке Проверка подлинности :

    • Выберите Тип проверки подлинности строки подключения и Только для чтения для параметра "Разрешения для строки подключения".
    • разверните меню Дополнительно . В сведениях о конфигурации должна быть уже создана переменная среды с именем "AZURE_APPCONFIGURATION_CONNECTIONSTRING". Измените переменную среды, щелкнув значок справа, и измените имя на ConnectionStrings__AppConfig. Нам нужно внести это изменение, так как ConnectionStrings__AppConfig — это имя переменной среды, созданной приложением в ASP.NET Core кратком руководстве. Это переменная среды, содержащая строку подключения для Конфигурация приложений. Если вы использовали другое приложение для выполнения этого краткого руководства, используйте соответствующее имя переменной среды. Затем выберите Готово.
  • Используйте значения по умолчанию для всех остальных элементов.

После этого переменная среды с именем ConnectionStrings__AppConfig будет добавлена в контейнер приложения-контейнера. Его значение является ссылкой на секрет приложения-контейнера, строку подключения хранилища Конфигурация приложений.

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

  1. Выполните команду dotnet publish , чтобы выполнить сборку приложения в режиме выпуска и создать ресурсы в опубликованной папке.

    dotnet publish -c Release -o published
    
  2. Создайте файл с именем Dockerfile в каталоге, содержав csPROJ-файл, откройте его в текстовом редакторе и введите следующее содержимое. Dockerfile — это текстовый файл, который не имеет расширения и используется для создания образа контейнера.

    FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
    WORKDIR /app
    COPY published/ ./
    ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
    
  3. Выполните сборку контейнера, выполнив следующую команду.

    docker build --tag aspnetapp .
    

создадите экземпляр реестра контейнеров Azure;

Создание экземпляра службы "Реестр контейнеров Azure" (ACR). ACR позволяет создавать и хранить образы контейнеров, а также управлять ими.

  1. Чтобы создать реестр контейнеров, выполните Реестр контейнеров Azure краткое руководство.
  2. После завершения развертывания откройте экземпляр ACR и в меню слева выберите Параметры Ключи > доступа.
  3. Запишите значение сервера входа , указанное на этой странице. Эти сведения будут использоваться на следующем шаге.
  4. Переключите Администратор пользователя на Включено. Этот параметр позволяет подключить ACR к контейнерным приложениям Azure с помощью учетных данных администратора. Кроме того, можно оставить его отключенным и настроить приложение-контейнер для извлечения образов из реестра с помощью управляемого удостоверения.

Принудительная отправка образов в Реестр контейнеров Azure

Отправьте образ Docker в ACR, созданный ранее.

  1. Выполните команду az acr login , чтобы войти в реестр.

    az acr login --name myregistry
    

    Команда возвращается Login Succeeded после успешного входа.

  2. Используйте тег Docker , чтобы пометить изображение соответствующими сведениями.

    docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
    

    Совет

    Чтобы просмотреть список существующих образов и тегов Docker, выполните команду docker image ls. В этом сценарии должны отображаться по крайней мере два изображения: aspnetapp и myregistry.azurecr.io/aspnetapp.

  3. Используйте docker push для отправки образа в реестр контейнеров. В этом примере создается репозиторий aspnetapp в ACR, содержащий aspnetapp образ. В приведенном ниже примере замените заполнители <login-serverи <image-name><tag> значением сервера входа ACR, именем образа и тегом образа.

    Метод:

    docker push <login-server>/<image-name>:<tag>
    

    Пример

    docker push myregistry.azurecr.io/aspnetapp:v1
    
  4. Откройте Реестр контейнеров Azure в портал Azure и убедитесь, что в разделе Репозитории вы увидите новый репозиторий.

    Снимок экрана: платформа Azure с репозиторием в Реестрах контейнеров Azure.

Добавление образа контейнера в контейнеры приложений Azure

Обновите приложение-контейнер, чтобы загрузить образ контейнера из ACR.

  1. В портал Azure откройте экземпляр контейнеров приложений Azure.

  2. В меню слева в разделе Приложение выберите Контейнеры.

  3. Выберите Изменить и развернуть.

  4. В разделе Образ контейнера щелкните имя существующего образа контейнера.

  5. Обновите следующие параметры:

    Параметр Рекомендуемое значение Описание
    Источник образа Реестр контейнеров Azure Выберите Реестр контейнеров Azure в качестве источника образа.
    Аутентификация Учетные данные администратора Используйте параметр учетных данных администратора, который был включен ранее в реестре контейнеров. Если вы не включили администратора, но настроили для использования управляемого удостоверения, необходимо вручную ввести образ и тег в форме.
    Реестр myregistry.azurecr.io Выберите ранее созданную Реестр контейнеров Azure.
    Image aspnetapp Выберите образ Docker, созданный и отправленный в ACR ранее.
    Тег образа Версия 1 Выберите тег изображения в списке.
  6. Выберите Сохранить , а затем Создать , чтобы развернуть обновление в контейнерном приложении Azure.

Перейдите по URL-адресу контейнерного приложения Azure.

В портал Azure в экземпляре Контейнеров приложений Azure перейдите на вкладку Обзор и откройте URL-адрес приложения.

Веб-страница выглядит следующим образом:

Снимок экрана: браузер, в котором отображается запущенное приложение.

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

Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.

Важно!

Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.

  1. Войдите на портал Azure и выберитеГруппы ресурсов.
  2. Введите имя группы ресурсов в поле Фильтровать по имени.
  3. В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
  4. Выберите Удалить группу ресурсов.
  5. Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.

Через некоторое время группа ресурсов и все ее ресурсы будут удалены.

Дальнейшие действия

В этом кратком руководстве показано, как:

  • Подключенные Конфигурация приложений Azure к контейнерам приложений Azure
  • Использование Docker для создания образа контейнера из приложения ASP.NET Core с параметрами Конфигурация приложений
  • Создание экземпляра Реестр контейнеров Azure
  • Отправлено изображение в экземпляр Реестр контейнеров Azure
  • Добавлен образ контейнера в контейнер приложений Azure
  • Перейдите к URL-адресу экземпляра Контейнеров приложений Azure с параметрами, настроенными в хранилище Конфигурация приложений.

Управляемое удостоверение позволяет одному ресурсу Azure получить доступ к другому без сохранения секретов. Вы можете упростить доступ из контейнеров приложений к другим ресурсам Azure. Дополнительные сведения см. в разделах о том, как получить доступ к Конфигурация приложений с помощью управляемого удостоверения и как [получить доступ к Реестру контейнеров с помощью управляемого удостоверения].

Чтобы узнать, как настроить веб-приложение ASP.NET Core для динамического обновления параметров конфигурации, перейдите к следующему руководству.