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


Оркестрация контейнеров для микрослужб

Служба Azure Kubernetes (AKS)
Azure Service Fabric
Экземпляры контейнеров Azure

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

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

Архитектура контейнерных микрослужб

В этом простом контейнеризованном кластере службы Azure Kubernetes (AKS):

  • Один экземпляр Microservice A выполняется в узле 1, другой экземпляр узла 2 и третий экземпляр узла 3.
  • Один экземпляр Микрослужбы B выполняется в узле 1, а другой экземпляр в узле 3.
  • Контейнерные обратные прокси-серверы работают в узлах 1 и 2 для распределения трафика.

Концептуальная схема простой архитектуры контейнерных микрослужб.

Чтобы управлять кластером, команда DevOps должна выполнять следующие действия.

  • Запуск нескольких экземпляров контейнера на каждом узле.
  • Балансировка нагрузки трафика между экземплярами.
  • Управление взаимодействием между зависимыми экземплярами в отдельных узлах.
  • Сохраняйте требуемое состояние кластера AKS.

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

Рассмотрите возможность контейнеризации простого трехуровневого веб-приложения:

  • Контейнер размещает интерфейсный компонент.
  • Другой контейнер размещает уровень среднего уровня или уровень REST API.
  • Уровень среднего уровня взаимодействует с глобально распределенной базой данных.

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

Преимущества оркестрации контейнеров

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

схема примера кластера микрослужб с сценариями оркестратора контейнеров.

Оркестратор контейнера:

  • Автоматически масштабирует количество экземпляров микрослужб на основе трафика или использования ресурсов. В этом примере оркестратор автоматически добавляет другой экземпляр Microservice A в ответ на увеличение трафика.

  • Управляет контейнерами для отражения настроенного требуемого состояния. В примере Микрослужба B настроена на два экземпляра. Один экземпляр стал неработоспособным, поэтому оркестратор поддерживает требуемое состояние путем создания другого экземпляра.

  • Упаковывает контейнеры для каждой микрослужбы в простой уровень служб. Уровень службы:

    • Абстрагирует сложности, такие как IP-адрес, порт и количество экземпляров.
    • Балансировка нагрузки трафика между экземплярами микрослужб.
    • Поддерживает простое взаимодействие между зависимыми экземплярами микрослужб.

Оркестраторы контейнеров также обеспечивают гибкость и управление трафиком для:

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

Выбор оркестратора контейнеров Azure

Ниже приведены некоторые варианты реализации оркестрации контейнеров микрослужб в Azure:

  • Служба Azure Kubernetes (AKS) — это полностью управляемая служба Kubernetes службы оркестрации контейнеров в Azure, которая упрощает развертывание и управление контейнерными приложениями. AKS обеспечивает эластичную подготовку, быстрое комплексное развертывание и расширенное управление удостоверениями и доступом.

  • Azure Service Fabric — это оркестратор контейнеров для развертывания микрослужб и управления ими в кластере компьютеров. Упрощенная среда выполнения Service Fabric поддерживает создание микрослужб без отслеживания состояния и отслеживания состояния.

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

  • экземпляры контейнеров Azure (ACI) — самый быстрый и простой способ запуска контейнера в Azure. При использовании ACI вам не нужно управлять виртуальными машинами или адаптировать службы более высокого уровня.

    Для простых сценариев оркестрации можно использовать Docker Compose для определения и запуска многоконтейнерного приложения локально. Затем разверните контейнеры Docker в качестве группы контейнеров ACI в управляемой бессерверной среде Azure. Для полных сценариев оркестрации контейнеров ACI может интегрироваться с AKS для создания виртуальных узлов для оркестрации AKS.

  • Azure Spring Apps — это полностью управляемая служба для приложений Spring Boot. С помощью Spring Apps вы можете сосредоточиться на создании и запуске приложений без необходимости управлять инфраструктурой. Spring Apps поставляется со встроенным жизненным циклом и управлением оркестрацией, простотой мониторинга и полной интеграцией с Azure.

  • Azure Red Hat OpenShift (ARO) поддерживает развертывание полностью управляемых кластеров OpenShift в Azure. Для выполнения производственных контейнеров Kubernetes требуется интеграция с платформами и инструментами, такими как реестры образов, управление хранилищами, мониторинг и DevOps. ARO расширяет Kubernetes путем объединения этих компонентов в одну платформу контейнеров в качестве службы (PaaS).

Участников

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Автор субъекта:

  • Veerash Ayagari | Главный инженер программного обеспечения

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Дальнейшие действия