Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В приложениях службы приложений Linux (приложениях с кодом и пользовательских контейнерах) контейнер-сайдкар является вспомогательным контейнером, который запускается в той же среде, что и основной контейнер приложения. Сайдкары могут предоставлять вспомогательные службы (например, телеметрию, кэширование или инференс ИИ) и управляются в рамках вашего приложения службы приложений App Service.
Зачем использовать сайдкары в службе приложений?
Боковые контейнеры позволяют добавлять новые возможности, такие как мониторинг, кэширование, ИИ или пользовательская логика, без изменения основного кода приложения (в приложениях, состоящих только из кода) или основного контейнера (в пользовательских контейнерах). Она предлагает следующие преимущества:
- Разделение проблем: Добавьте или обновите службы независимо от основного приложения.
- Расширяемость: Интеграция предварительно созданных или настраиваемых расширений (например, OpenTelemetry, Redis, Datadog, модели ИИ Phi-3/4).
- Операционная гибкость: Управляйте, обновляйте или масштабируйте сайдкары вместе с вашим приложением.
- Путь миграции: Переход с решений Docker Compose или с несколькими контейнерами на управляемую масштабируемую платформу (см. статью "Миграция приложений Docker Compose на боковики в службе приложений Azure").
Как работают сайдкары в App Service?
-
Роли контейнеров: Каждое приложение с поддержкой сайдкара имеет один основной контейнер (
isMain: true) и до девяти контейнеров-сайдкаров (isMain: false). В конфигурации контейнераisMain: trueобозначает главный контейнер для приложения. Все остальные должны иметьisMain: false. -
Сети: Все контейнеры в приложении используют одно и то же сетевое пространство имен и обмениваются данными
localhost. Разрешение имен службы не требуется, поэтому используйтеlocalhost:<port>. Каждый контейнер должен прослушивать уникальный порт. Для внешнего HTTP-трафика поддерживаются только порты 80 и 8080. Для внутреннего взаимодействия используйте любой доступный уникальный порт. - Жизненный цикл: Сайдкары запускаются, останавливаются и масштабируются вместе с основным контейнером приложения. Когда ваше приложение масштабируется, увеличивая или уменьшая нагрузку, все связанные контейнеры сайдкар автоматически следуют тому же жизненному циклу.
- Конфигурация: Сайдкары можно настроить с помощью портала Azure, шаблонов ARM или CLI. Вы указываете образ контейнера, переменные среды и другие параметры для каждого контейнера. Параметры приложения общие для всех контейнеров. Можно также задать переменные среды, относящиеся к контейнеру.
- Точки подключения томов: Каждый контейнер может иметь собственные точки подключения томов.
- Аутентификация: Сайдкары могут извлекать образы из общедоступных или частных реестров, включая Azure Container Registry. Используйте управляемые удостоверения или учетные данные администратора для частных реестров.
Типы колясок
- Пользовательские боковики: Любой предоставленный образ контейнера, например сборщик OpenTelemetry, NGINX или собственную микрослужбу.
-
Предварительно созданные расширения: Официально поддерживаемые контейнеры для:
- ИИ (Phi-3, Phi-4): Интегрируйте выводы локальной малой языковой модели SLM в ваше приложение.
- Redis: Добавьте локальный кэш Redis для быстрого доступа к данным.
- Datadog: Интегрируйте мониторинг и наблюдаемость с использованием Datadog.
- И многое другое, так как Azure расширяет каталог.
Часто задаваемые вопросы
Могу ли я использовать сайдкары в моих существующих приложениях Linux?
Для существующих приложений Linux только с кодом (встроенные контейнеры) см. в руководстве по настройке контейнера-помощника для приложений Linux в Службе приложений Azure.
Для существующих пользовательских приложений контейнеров см. раздел «Включение поддержки сайдкар для пользовательских контейнеров Linux».
Как следить за сайдкарами и устранять их неполадки?
Используйте Azure Monitor, Log Analytics и колонку "Диагностика и решение" на портале Azure. Журналы из всех контейнеров доступны в потоке журналов службы приложений.
Существуют ли ограничения?
Среда службы приложений (ASE) и национальные облака пока не поддерживаются. Проверьте актуальную документацию по Azure для обновлений.
Дополнительные ресурсы
- Интерактивное руководство: сайдкары в Службе приложений Azure
- Руководство: Настройте сайдкар-контейнер для приложения Linux в Службе приложений Azure
- Руководство по настройке бокового контейнера для пользовательского контейнера в службе приложений Azure
- Настройка побочных машин в Службе приложений Azure
- Перенос существующих контейнерных приложений в боковую модель в службе Azure App Service
- Руководство: Запуск чат-бота в службе приложений с расширением Phi-4 для совместной работы (ASP.NET Core)
- Руководство: Запуск чат-бота в службе приложений с сайдкаровым расширением Phi-4 (Spring Boot)
- Руководство: Запуск чат-бота на платформе приложений с расширением Phi-4 в виде модуля-дополнения (FastAPI)
- Руководство по запуску чат-бота в приложении App Service с дополнением сайдкар Phi-4 (Express.js)