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


Экземпляры контейнеров Azure и оркестраторы контейнеров

Благодаря небольшому размеру и ориентации приложения контейнеры хорошо подходят для эластичных сред доставки и архитектур на основе микрослужб. Задача автоматизации большого числа контейнеров, управления ими, а также способом их взаимодействия называется оркестрацией. Популярными оркестраторами контейнеров являются Kubernetes, DC/OS и Docker Swarm.

Служба "Экземпляры контейнеров Azure" предоставляет ряд базовых возможностей планирования платформ оркестрации. Решение "Экземпляры контейнеров Azure" не охватывает службы с более высокой стоимостью, чем предоставляемые этими платформами, но оно может служить дополнением к ним. В этой статье описана область обработки службы "Экземпляры контейнеров Azure" и взаимодействие с ней полнофункциональных оркестраторов контейнеров.

Традиционная оркестрация

Стандартное определение оркестрации включает в себя следующие задачи:

  • Планирование. Получив образ контейнера и запрос ресурса, найдите подходящий компьютер для запуска контейнера.
  • Сходство/удаление сходства. Укажите, что контейнеры должны выполняться рядом друг с другом (для повышения производительности) или на достаточном расстоянии друг от друга (для увеличения доступности).
  • Мониторинг работоспособности. Проверьте наличие ошибок в контейнере и автоматически перенесите их устранение.
  • Отработка отказа. Отслеживайте процессы, которые выполняются на каждом компьютере, и перенесите контейнеры с неисправных компьютеров в работоспособные узлы.
  • Масштабирование. Добавьте или удалите экземпляры контейнеров в соответствии с требованиями вручную или автоматически.
  • Сеть. Укажите наложенную сеть для координации контейнеров, взаимодействующих в нескольких хост-компьютерах.
  • Обнаружение служб. Обеспечьте возможность автоматического взаимного обнаружения контейнеров, даже когда они перемещаются между хост-компьютерами и их IP-адреса изменяются.
  • Координирование обновления приложений. Управляйте обновлениями контейнеров, чтобы избежать простоя приложений, и выполняйте откат, если что-то пошло не так.

Оркестрация с помощью экземпляров контейнеров Azure: многоуровневый подход

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

Так как базовая инфраструктура для экземпляров контейнеров управляется с помощью Azure, платформе оркестратора не нужно самостоятельно искать подходящий хост-компьютер для запуска одного контейнера. Благодаря гибкости облака один контейнер всегда будет доступным. Вместо этого оркестратор может сосредоточиться на задачах, которые упрощают разработку архитектуры нескольких контейнеров, включая масштабирование и скоординированные обновления.

Сценарии

Пока интеграция оркестратора с Экземплярами контейнеров Azure еще только на начальной стадии, возможно возникновения нескольких различных сред.

Монопольная оркестрация экземпляров контейнеров

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

Сочетание экземпляров контейнеров и контейнеров на виртуальных машинах

Для длительных и стабильных рабочих нагрузок оркестрация контейнеров в кластере выделенных виртуальных машин обычно дешевле, чем выполнение тех же контейнеров с помощью службы "Экземпляры контейнеров Azure". Но экземпляры контейнеров — это эффективное решение для быстрого развертывания и сжатия общей емкости при обработке непредвиденных или кратковременных пиковых нагрузок в использовании.

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

Пример реализации: виртуальные узлы для Службы Azure Kubernetes (AKS)

Чтобы быстро масштабировать рабочие нагрузки приложений в кластере Службы Azure Kubernetes (AKS), используйте виртуальные узлы, созданные динамически в экземплярах контейнеров Azure. Виртуальные узлы обеспечивают взаимодействие контейнеров pod в сети, которые выполняются в кластерах ACI и AKS.

В настоящее время виртуальные узлы поддерживают экземпляры контейнеров Linux. Начните работать с виртуальными узлами с помощью Azure CLI или портала Azure.

Виртуальные узлы используют открытый код Virtual Kubelet, чтобы имитировать Kubernetes kubelet, регистрируя его как узел с неограниченной емкостью. Virtual Kubelet подготавливает создание объектов pod в качестве группы контейнеров в Экземплярах контейнеров Azure.

Для дополнительных примеров расширения Kubernetes API в бессерверные платформы контейнеров см. проект Virtual Kubelet.

Следующие шаги

Создайте свой первый контейнер с использованием службы "Экземпляры контейнеров Azure", используя краткое руководство.