Поделиться через


Среда контейнерных приложений Azure

Среда для контейнерных приложений — это безопасная граница вокруг одного или нескольких контейнерных приложений и задач. Среда выполнения Container Apps управляет каждой средой, выполняя обновления ОС, операции масштабирования, процедуры аварийного переключения и балансировку ресурсов.

Среды включают следующие функции:

Функция Описание
Тип Существует два разных типа сред контейнерных приложений: среды профилей рабочих нагрузок и только среды потребления. Среды профилей рабочих нагрузок поддерживают как планы потребления, так и выделенные планы, в то время как только среды потребления поддерживают только план потребления.
Виртуальная сеть Виртуальная сеть поддерживает каждую среду, которая обеспечивает безопасные границы среды. При создании среды создается виртуальная сеть с ограниченными возможностями сети или вы можете предоставить собственные возможности. Добавление существующей виртуальной сети обеспечивает точное управление сетью.
Несколько приложений-контейнеров Если несколько приложений-контейнеров находятся в одной среде, они совместно используют одну виртуальную сеть и записывают журналы в то же место ведения журнала.
Интеграция с несколькими службами Функции Azure и Azure Spring Apps можно добавить в среду приложений контейнеров Azure.

Среды приложений контейнеров Azure.

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

Отдельная среда

Используйте одну среду, если требуется:

  • управлять связанными службами;
  • развертывать разные приложения в одной виртуальной сети;
  • Инструментирование приложений Dapr, взаимодействующих через API вызова службы Dapr
  • Совместное использование одной конфигурации Dapr между приложениями
  • Совместное использование одного журнала для приложений

Несколько сред

Используйте несколько сред, если требуется два или более приложений:

  • Никогда не совместно использовать те же вычислительные ресурсы
  • Не взаимодействовать через API вызова службы Dapr
  • Быть изолированным из-за использования команды или среды (например, тест или продакшен)

Типы

Тип Описание Планирование Рекомендации по выставлению счетов
Профиль рабочей нагрузки Запуск бессерверных приложений с поддержкой масштабирования до нуля и оплаты только за ресурсы, используемые с профилем потребления. Вы также можете запускать приложения с настраиваемым оборудованием и повышением прогнозируемости затрат с помощью выделенных профилей рабочей нагрузки. Использование и выделенное Вы можете запускать приложения в обоих планах с помощью отдельных профилей рабочей нагрузки. Выделенный план имеет фиксированную стоимость для всей среды независимо от количества профилей рабочей нагрузки, которые вы используете.
Только потребление Запустите бессерверные приложения с поддержкой масштабирования до нуля и оплачивайте только ресурсы, используемые вашими приложениями. Только потребление Плата взимается только за отдельные контейнерные приложения и использование ими ресурсов. Нет затрат, связанных со средой для контейнерных приложений.

Записи

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

По умолчанию все приложения-контейнеры в среде отправляют журналы в общую рабочую область Log Analytics, что упрощает запрос и анализ журналов в нескольких приложениях. В эти журналы входят:

  • Потоки контейнеров stdout/stderr
  • События масштабирования контейнерного приложения
  • Журналы бокового автомобиля Dapr (если dapr включен)
  • Метрики и события уровня системы

Свойства конфигурации журнала

С помощью API можно настроить следующие свойства на уровне среды:

Недвижимость Описание
properties.appLogsConfiguration Используется для настройки рабочей области Log Analytics, в которой публикуются журналы для всех приложений в среде.
properties.containerAppsConfiguration.daprAIInstrumentationKey Ключ инструментирования App Insights, предоставленный Dapr для трассировки

Политики

Среды приложений контейнеров Azure автоматически удаляются, если одно из следующих условий обнаруживается дольше 90 дней:

  • В состоянии простоя (в среде не выполняются активные приложения контейнера или задания)
  • В состоянии сбоя из-за конфигурации виртуальной сети или политики Azure
  • Блокировка обновлений инфраструктуры происходит из-за конфигурации виртуальной сети (VNet) или политики Azure.

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

  • Держите по крайней мере одно активное контейнерное приложение или задачу в вашей среде
  • Убедитесь, что конфигурация виртуальной сети и политики Azure настроены правильно
  • Реагирование на любые уведомления о вашей среде в проблемном состоянии

Вы можете отслеживать состояние сред с помощью оповещений Azure Monitor или регулярно проверять состояние среды на портале Azure или с помощью Azure CLI.

Ограничения и квоты

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

Ресурс Лимит Примечания.
Приложения-контейнеры для каждой среды 200 Максимальное количество приложений-контейнеров в одной среде
Редакции приложения-контейнера для каждой среды 1000 Общее количество исправлений для всех приложений в среде
Среды для каждого региона на подписку 20 Можно увеличить с помощью запроса на поддержку
Максимальное количество ЦП на контейнер 4 виртуальных ЦП (потребление), зависит от профиля рабочей нагрузки Зависит от типа среды и выбранного профиля рабочей нагрузки
Максимальное количество памяти на контейнер 16 ГБ (потребление), зависит от профиля рабочей нагрузки Зависит от типа среды и выбранного профиля рабочей нагрузки
Максимальное количество реплик для контейнерного приложения 300 Максимальное ограничение масштабирования для одного приложения-контейнера
Максимальное время ожидания запроса входящего трафика 240 секунд Для HTTP-запросов через входящий трафик

Для большинства up-to-дат и квот см. ограничения службы "Приложения контейнеров Azure".