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


Контейнеры Azure и оркестраторы контейнеров

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

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

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

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

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

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

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

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

Сценарии

Хотя интеграция оркестратора с экземплярами контейнеров Azure по-прежнему настойчива, мы ожидаем, что возникают несколько различных сред:

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

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

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

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

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

Пример реализации: виртуальные узлы в экземплярах контейнеров Azure

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

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

Дальнейшие шаги

Создайте первый контейнер с помощью Azure Container Instances, следуя краткому руководству.