Реализация групп контейнеров

Завершено

Ресурс верхнего уровня в службе "Экземпляры контейнеров Azure" — это группа контейнеров. Группа контейнеров — это набор контейнеров, которые можно планировать на одном хост-компьютере. Контейнеры в группе контейнеров совместно используют жизненный цикл, ресурсы, локальную сеть и тома хранилища.

Сведения о группах контейнеров

Давайте рассмотрим некоторые сведения о группах контейнеров для Экземпляры контейнеров Azure.

  • Группа контейнеров похожа на pod в Kubernetes. Обычно модуль pod имеет сопоставление 1:1 с контейнером, но модуль pod может содержать несколько контейнеров. Контейнеры в модуле pod с несколькими контейнерами могут совместно использовать связанные ресурсы.

  • Экземпляры контейнеров Azure выделяет ресурсы группе с несколькими контейнерами, добавляя запросы ресурсов всех контейнеров в группе. Ресурсы могут включать такие элементы, как ЦП, память и GPU.

    Рассмотрим группу контейнеров с двумя контейнерами, для которых требуются ресурсы ЦП. Каждый контейнер запрашивает один ЦП. Экземпляры контейнеров Azure выделяет два ЦП для группы контейнеров.

  • Существует два распространенных способа развертывания многоконтейнерной группы: шаблонов Azure Resource Manager (ARM) и файлов YAML.

    • Шаблон ARM. Шаблон ARM рекомендуется развертывать другие ресурсы службы Azure при развертывании экземпляров контейнеров, таких как Файлы Azure файловая папка.

    • YAML-файл. Из-за краткого характера формата YAML рекомендуется использовать YAML-файл, если развертывание включает только экземпляры контейнеров.

  • Группы контейнеров могут совместно использовать внешний IP-адрес, один или несколько портов в IP-адресе и dns-метку с полным доменным именем.

    • Внешний доступ к клиенту. Необходимо предоставить порт по IP-адресу и из контейнера, чтобы внешние клиенты могли получить доступ к контейнеру в группе.

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

    • Удаленные группы. При удалении группы контейнеров его IP-адрес и полное доменное имя освобождаются.

Пример конфигурации

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

Diagram that depicts an Azure Container Instances multi-container group that has two containers.

Группа с несколькими контейнерами имеет следующие характеристики и конфигурацию:

  • Группа контейнеров запланирована на одном компьютере узла и назначается метка DNS-имени.
  • Группа контейнеров предоставляет один общедоступный IP-адрес с одним предоставленным портом.
  • Один контейнер в группе прослушивает порт 80. Другой контейнер прослушивает порт 1433.
  • Группа включает два Файлы Azure общих папок в качестве подключений томов. Каждый контейнер в группе подключает один из общих папок локально.

Что следует учитывать при использовании групп контейнеров

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

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

  • Рассмотрите возможность обновления веб-приложения. Поддержка обновлений веб-приложений путем реализации многоконтейнерной группы. Один контейнер в группе обслуживает веб-приложение, а другой контейнер извлекает последнее содержимое из системы управления версиями.

  • Рассмотрим сбор данных журнала. Используйте группу с несколькими контейнерами для записи данных журнала и метрик о приложении. Контейнер приложения выводит журналы и метрики. Контейнер ведения журнала собирает выходные данные и записывает данные в долгосрочное хранилище.

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

  • Рассмотрим поддержку внешнего интерфейса и серверной части. Создайте группу с несколькими контейнерами для хранения внешнего контейнера и внутреннего контейнера. Интерфейсный контейнер может служить веб-приложением. Внутренний контейнер может запустить службу для получения данных.