В этой статье перечислены часто задаваемые вопросы о приложениях контейнеров Azure вместе с соответствующими ответами.
Регионы
Где можно найти последние сведения о поддерживаемых регионах в приложениях контейнеров Azure?
Список можно создать, выполнив следующую команду Azure CLI:
az provider show \
--namespace Microsoft.App \
--query "resourceTypes[?resourceType=='managedEnvironments'].locations"
Программные интерфейсы
Предоставляет ли приложения контейнеров Azure прямой доступ к базовому API Kubernetes?
Нет, приложения контейнеров Azure не предоставляют прямой доступ к API Kubernetes.
Можно ли импортировать API Контейнеры приложений Azure из контекста API Management?
Да, вы можете импортировать API приложений контейнеров Azure из контекста управления API.
Выставление счетов
Как оплачиваются Контейнеры приложений Azure?
Выставление счетов зависит от потребления ресурсов, включая ЦП, память и количество запросов. Дополнительные сведения см. на странице выставления счетов .
Настройка
Можно ли настроить GitHub Actions для автоматического создания и развертывания кода в приложениях контейнеров Azure?
Да. Вы можете настроить GitHub Actions с помощью Azure CLI или портала Azure:
С помощью Azure CLI выполните команду
az containerapp github-action -h, чтобы просмотреть параметры.В портале Azure перейдите в окно "Непрерывное развертывание" для приложения-контейнера.
Почему URL-адрес приложения отличается от URL-адреса, указанного в запросе?
Приложения контейнеров Azure декодируют URL-адрес для защиты приложения от атак смешения URL-адресов. URL-адрес запроса, который закодировал части, например http://mysite.com/archive/http%3A%2F%2Fmysite.com%2Farchive%2F123, отправляется в приложение как http://mysite.com/archive/http%3A/mysite.com/archive/123.
Поддерживают ли только среды уровня Consumption пользовательские маршруты, определяемые пользователем?
Среды только с оплатой по мере использования имеют ограниченную поддержку пользовательских маршрутов (UDR). ExpressRoute не поддерживается. Ограниченная поддержка UDR доступна при настройке следующим образом:
Маршрут необходимо определить с помощью тега
Azure.<REGION_NAME>Service, где Next Hop = "Internet".Правила группы безопасности сети (NSG) также должны быть настроены, как описано в документации NSG , чтобы обеспечить правильную работу среды.
Эти ограничения не применяются к профилям рабочей нагрузки, а для полнофункциональной поддержки UDR и Express Route используют среды профилей рабочей нагрузки.
Управление данными
Где хранятся данные клиента в приложениях контейнеров Azure?
Приложения контейнеров Azure не перемещают или не хранят данные клиента из развернутого региона.
Управление средой
Как восстановить архивированную среду Container Apps?
Архивную среду можно восстановить, обновив режим среды до профилей рабочих нагрузок с помощью Azure CLI. Операция может занять 15–30 минут.
Сначала добавьте и обновите containerapp расширение, чтобы убедиться, что вы используете последнюю версию:
az extension add --name containerapp
az extension update --name containerapp
Затем восстановите среду, задав режим среды workloadprofilesследующим:
az containerapp env update \
--environment-mode workloadprofiles \
--name $ENV_NAME \
--resource-group $RG
Квоты
Как запросить увеличение квоты?
Запросите увеличение квоты в портале Azure, выбрав Контейнеры приложений Azure в качестве поставщика.
При отправке запроса на увеличение квоты следует учитывать следующие сведения:
Масштабирование приложений и сред: существует множество различных квот, доступных для увеличения. Используйте эти описания, чтобы определить ваши потребности:
- Увеличьте количество приложений и ядер в каждой среде: позволяет запускать больше приложений в среде и/или более ресурсоёмкие приложения. Рекомендуется, если ваши рабочие нагрузки можно развернуть в пределах одной сети и одних границ безопасности.
- Увеличение количества сред: рекомендуется, если вашим рабочим нагрузкам требуются сетевые границы или границы безопасности. Примечание. Подробный бизнес-контекст может потребоваться, если ваш запрос включает увеличение квот на уровне среды. При запросе изменения квоты региональной среды необходимо запросить соответствующее изменение квоты глобальной среды.
Регионы. Утверждения для увеличения запросов зависят от вычислительной емкости, доступной в регионах Azure.
Конкретные требования к вычислительным ресурсам: платформа поддерживает 4 ГБ для каждого приложения контейнера. Исключения из ограничений памяти рассматриваются в каждом случае отдельно.
Бизнес-причины масштабирования. Возможно, вы можете получить запрос на увеличение квоты, если ограничения платформы блокируют требования рабочей нагрузки. Переопределения пределов масштабирования рассматриваются в каждом случае отдельно.
API микросервисов на базе Dapr
Какие функции и API Dapr доступны в приложениях контейнеров Azure?
Каждая функция Dapr проходит тщательную оценку, чтобы убедиться, что она приносит пользу клиентам, использующим микросервисы в среде Контейнеры приложений Azure, и обеспечивает наилучший опыт работы.
Поддерживаются ли и доступны ли альфа-версии API Dapr и компоненты уровня 2 в Контейнеры приложений Azure?
Доступность альфа-API Dapr не гарантируется или поддерживается корпорацией Майкрософт.
Хотя компоненты уровня 1 полностью поддерживаются, компоненты уровня 2 поддерживаются с наилучшими усилиями. Подробнее.
Как запросить улучшение функции Dapr для приложений контейнеров Azure?
Вы можете отправить запрос на функцию с помощью репозитория GitHub для приложений контейнеров Azure. Обязательно включите "Dapr" в заголовок запроса на добавление функции.
Почему я вижу "-msft".<number> версия в моей среде приложений-контейнеров?
По мере развертывания 1.13.6-msft.1 в рабочих регионах вам всё ещё могут отображаться более ранние версии (например, 1.12.5 или 1.12.5-msft.6). Суффикс -msft.<number> указывает на конкретные настройки, сделанные для приложений контейнеров Azure, чтобы повысить эффективность работы.
Как часто версии Dapr выпускаются для приложений контейнеров Azure?
Обновление версий Dapr выполняется по мере возможности, с особым акцентом на стабильность, тщательное тестирование и минимизацию воздействия на клиентов. Цель заключается в том, чтобы гарантировать, что обновления легко интегрированы без внесения критических изменений.
Так как обновления версий Dapr применяются автоматически, вы всегда используете наиболее безопасную версию. Однако Dapr в приложениях контейнеров Azure не соответствует фиксированному расписанию выпуска новых функций. Вместо этого выпуск новых версий Dapr для новых функций зависит от приоритетов и стабильности двоичных файлов Dapr.
Найдите обновления и объявления о выпуске для Dapr в приложениях контейнеров Azure в GitHub.
Можно ли использовать определенную версию Dapr для моей среды?
Выбор пользовательской версии не поддерживается. Вместо этого среда автоматически обновляется, сохраняя целостность полностью управляемого и бессерверного предложения Dapr в приложениях контейнеров Azure. Вы можете управлять автоматическими обновлениями, настроив функцию планового обслуживания в среде приложений контейнеров.
Развертывания без Docker
Что такое развертывание с меньшим количеством docker?
Развертывание без Docker позволяет развертывать приложение без определения Dockerfile в коде. Вместо этого функция облачной сборки для контейнерных приложений использует buildpacks для преобразования исходного кода на локальном компьютере в образ контейнера. Этот параметр использует реестр приложений контейнеров Azure по умолчанию.
Во время развертывания моего приложения без Docker появляются сообщения об "ImagePullBackOff" в legion, "ошибке Kubernetes" или "ошибке шлюза", и приложение не удается успешно развернуть.
У вас возникла известная проблема с развертываниями без Docker. Повторная попытка может устранить эту проблему. При возникновении этой проблемы откройте проблему GitHub, чтобы наша команда могли изучить эту проблему .
Развертывание приложений .NET
Что делать, если не удается масштабировать приложение .NET?
Необходимо включить защиту данных для всех приложений .NET в приложениях контейнеров Azure. Дополнительные сведения см. в статье о развертывании и масштабировании приложения ASP.NET Core в приложениях контейнеров Azure.
Развертывание приложений Java
Какие версии JDK поддерживаются и как настроить версию JDK?
Контейнерные приложения поддерживают четыре версии JDK LTS: JDK 8, JDK 11, JDK 17 и JDK 21. Для сборки исходного кода версия по умолчанию — JDK 17. Для сборки JAR-файла версия JDK считывается из расположения META-INF\MANIFEST. MF в JAR-файле, но использует JDK по умолчанию версии 17, если указанная версия недоступна.
Вы можете настроить JDK-версию для переопределения версии по умолчанию с помощью переменных среды сборки.
Какие средства сборки Java поддерживаются?
Приложения контейнеров Azure в настоящее время поддерживают Apache Maven в качестве средства сборки Java.
Как настроить сборку образа Java из исходного кода?
Настроить сборку Java-образа можно с помощью переменных среды сборки.
Как убедиться, что сборка и образ моей сборки без Docker доступны в том же регионе, что и моё приложение?
При использовании containerapp up в сочетании с базой кода без Docker используйте --location параметр, чтобы приложение выполнялось в расположении, отличном от восточной части США.
Маркировка
Как использовать "последний" или статический тег для образа контейнера?
Избегайте использования статических тегов, таких как latest для образов контейнеров. Использование статических тегов может привести к проблемам кэширования и может затруднить устранение неполадок приложения. Вместо этого используйте уникальные теги для каждого развертывания, например хэш Git или дату и время, чтобы обеспечить правильное отслеживание и развертывание обновлений.
OpenTelemetry
Какие протоколы транспорта поддерживают управляемый агент OpenTelemetry?
Управляемый агент поддерживает только gRPC.