Краткое руководство. Развертывание существующего образа контейнера с помощью командной строки

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

В этой статье показано, как развернуть существующий контейнер в Контейнерах приложений Azure.

Примечание.

Авторизация частного реестра поддерживается с помощью имени пользователя и пароля реестра.

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

Настройка

Чтобы войти в Azure из ИНТЕРФЕЙСА командной строки, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности.

az login

Чтобы убедиться, что вы используете последнюю версию интерфейса командной строки, выполните команду обновления.

az upgrade

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

az extension add --name containerapp --upgrade

Теперь, когда установлено текущее расширение или модуль, зарегистрируйте Microsoft.App пространства имен и Microsoft.OperationalInsights пространств имен.

Примечание.

Ресурсы Контейнеров приложений Azure перенесены из пространства имен Microsoft.Web в пространство имен Microsoft.App. Дополнительные сведения см. в статье о миграции пространства имен из Microsoft.Web в Microsoft.App в марте 2022 г..

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Настройка переменных среды

Задайте следующие переменные среды. Замените <ЗАПОЛНИТЕЛИ вашими значениями> :

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

создание группы ресурсов Azure;

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

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Создать среду

Среда в Azure Container Apps создает безопасную границу вокруг группы приложений-контейнеров. Развертываемые в одной среде приложения-контейнеры развертываются в одной виртуальной сети и записывают журналы в одну рабочую область Log Analytics.

Чтобы создать среду, выполните следующую команду:

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION"

Создание приложения-контейнера

Создав среду, вы можете развернуть первое приложение-контейнер. Используя команду containerapp create, разверните образ контейнера в Контейнерах приложений Azure.

В примере в этой статье показано, как использовать пользовательский образ контейнера с распространенными командами. Для образа контейнера могут потребоваться дополнительные параметры для следующих элементов:

  • установка режима редакции;
  • определение секретов;
  • Определение переменных среды
  • настройка требований к ЦП или памяти контейнера;
  • включение и настройка Dapr;
  • Включение внешнего или внутреннего входящего трафика
  • предоставление минимальных и максимальный значений реплики или правил масштабирования.

Дополнительные сведения о том, как указать значения для любого из этих параметров create команде, запустите az containerapp create --help или посетите веб-ссылку. Чтобы создать учетные данные для Реестр контейнеров Azure, используйте az acr credential show.

CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
REGISTRY_SERVER=<REGISTRY_SERVER>
REGISTRY_USERNAME=<REGISTRY_USERNAME>
REGISTRY_PASSWORD=<REGISTRY_PASSWORD>

(Замените значения <заполнителей> собственными значениями.)

az containerapp create \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --image $CONTAINER_IMAGE_NAME \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --registry-server $REGISTRY_SERVER \
  --registry-username $REGISTRY_USERNAME \
  --registry-password $REGISTRY_PASSWORD
az containerapp create \
  --image <REGISTRY_CONTAINER_NAME> \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT

If you have enabled ingress on your container app, you can add `--query properties.configuration.ingress.fqdn` to the `create` command to return the public URL for the application.

Перед выполнением этой команды замените <REGISTRY_CONTAINER_NAME> на полное имя общедоступного расположения реестра контейнеров, включая путь к реестру и тег. Требуется, допускается имя контейнера mcr.microsoft.com/k8se/quickstart:latest.

Проверка развертывания

Чтобы убедиться, что развертывание было выполнено успешно, можно запросить рабочую область Log Analytics. Возможно, вам придется подождать несколько минут после развертывания, чтобы аналитика прибыла в первый раз, прежде чем вы сможете запросить журналы. Это зависит от ведения журнала консоли, реализованного в приложении контейнера.

Используйте следующие команды для просмотра сообщений журнала консоли.

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated" \
  --out table

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

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

Внимание

Следующая команда удаляет указанную группу ресурсов и все ресурсы, содержащиеся в ней. Если в указанной группе ресурсов существуют другие ресурсы, кроме созданных для этого краткого руководства, они также будут удалены.

az group delete --name $RESOURCE_GROUP

Совет

Возникли проблемы? Сообщите о них в репозитории Azure Container Apps на GitHub.

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