Общие сведения о службе "Экземпляры контейнеров Azure"
Экземпляры контейнеров Azure (ACI) — идеальное решение для любых сценариев, которые могут выполняться в изолированных контейнерах, включая простые приложения, автоматизацию задач и задания сборки. Вот некоторые преимущества этой службы:
- быстрый запуск. ACI может запускать контейнеры в Azure в секундах без необходимости создавать виртуальную машину и управлять ими.
- Доступ к контейнеру. ACI позволяет предоставлять группы контейнеров непосредственно в Интернете по IP-адресу и полному доменному имени (FQDN).
- Безопасность на уровне гипервизора. Приложение изолируется так же хорошо, как и в виртуальной машине.
- Данные клиентов. Служба ACI хранит минимальные данные клиентов, необходимые для работы групп контейнеров.
- Настраиваемые размеры. ACI обеспечивает оптимальное использование ресурсов в соответствии с требованиями к ядрам ЦП и объему памяти.
- Постоянное хранилище. Вставляйте общие ресурсы Azure напрямую в контейнер, чтобы получать и сохранять состояние.
- Linux и Windows. Создавайте расписания для контейнеров Windows и Linux, используя один и тот же API.
Для сценариев, требующих полной оркестрации контейнера, включая поиск служб по нескольким контейнерам, автоматическое масштабирование и координированное обновление приложений, рекомендуем использовать службу Azure Kubernetes.
Группы контейнеров
Ресурс верхнего уровня в службе "Экземпляры контейнеров Azure" — это группа контейнеров. Группа контейнеров — это набор контейнеров, которые можно планировать на одном хост-компьютере. Контейнеры в группе контейнеров используют жизненный цикл, ресурсы, локальную сеть и тома хранилища. Оно похоже на pod в Kubernetes.
На схеме ниже показан пример группы контейнеров, включающей несколько контейнеров:
Группа контейнеров в этом примере:
- Планируется на одном хост-компьютере.
- Принимает назначенную метку DNS-имени.
- Предоставляет один общедоступный IP-адрес с одним предоставленным портом.
- Состоит из двух частей. Один контейнер ожидает передачи данных на порте 80, а другой — на порте 5000.
- Включает два общих файловых ресурса Azure в качестве подключенных томов. При этом к каждому контейнеру локально подключен один из общих ресурсов.
Примечание.
Многоконтейнерные группы в настоящее время поддерживают только контейнеры Linux. Для контейнеров Windows служба "Экземпляры контейнеров Azure" поддерживает развертывание только одного экземпляра.
Развертывание
Существует два распространенных способа развертывания группы с несколькими контейнерами: с использованием шаблона Resource Manager или YAML-файла. Шаблон Resource Manager рекомендуется при развертывании дополнительных ресурсов службы Azure при развертывании экземпляров контейнеров. Если вы развертываете только экземпляры контейнеров, рекомендуется использовать YAML-файл, поскольку его формат более краткий.
Выделение ресурсов
Служба "Экземпляры контейнеров Azure" выделяет ресурсы, такие как процессоры, память и, при необходимости, графические процессоры (эта возможность сейчас на этапе предварительной версии), для группы с несколькими контейнерами, добавляя в группу запросы ресурсов от экземпляров. Использование ресурсов ЦП в качестве примера, если вы создаете группу контейнеров с двумя экземплярами, каждый запросив один ЦП, группа контейнеров выделяется двумя ЦП.
Сеть
Группы контейнеров совместно используют IP-адрес и пространство имен порта для этого IP-адреса. Чтобы внешние клиенты могли получить доступ к контейнеру в группе, необходимо предоставить порт по IP-адресу и из контейнера. Поскольку контейнеры в группе совместно используют пространство имен портов, сопоставление портов не поддерживается. Контейнеры в группе могут связаться друг с другом через localhost через порты, предоставляемые им, даже если эти порты не предоставляются внешним образом в IP-адресе группы.
Хранилище
Вы можете указать внешние тома для подключения в пределах группы контейнеров. Эти тома можно сопоставить с конкретными путями в пределах отдельных контейнеров в группе. К числу поддерживаемых томов относятся:
- Общая папка Azure
- Секретный
- Пустой каталог
- Клонированный репозиторий Git
Распространенные сценарии
Группы с несколькими контейнерами полезны в случаях, когда требуется разделить одну функциональную задачу на несколько образов контейнеров. Эти образы могут быть доставлены различными командами и иметь отдельные требования к ресурсам.
Пример использования может включать следующее:
- Контейнер, обслуживающий веб-приложение, и контейнер, извлекающий последнее содержимое из системы управления версиями.
- Контейнер приложения и журнала. Контейнер журнала собирает журналы и выходные данные метрик для основного приложения и записывает их в хранилище для долговременного хранения.
- Контейнер приложения и мониторинга. Контейнер мониторинга периодически выполняет запрос к приложению, чтобы убедиться, что оно правильно работает и отвечает, и выдает предупреждение, если это не так.
- Интерфейсный и серверный контейнер. Интерфейсный контейнер может обслуживать веб-приложение, а серверный — службу для получения данных.