Что такое оркестрация контейнеров

4 Мая 2018

Использование контейнеров — один из наиболее активно развивающихся сегментов IT-рынка, ориентированный на корпоративное использование облачных услуг.

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

оркестрация контейнером xelent

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

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

Существуют различные платформы для оркестрации контейнеров. Они позволяют реализовать удобные и эффективные средства развертывания контейнерных систем, построения единой централизованной консоли для применения политик управления. Наиболее известны следующие системы: Kubernetes, Docker Swarm и Apache Mesos. Это не единственные системы — есть еще Nomad, Fleet, Aurora, Amazon EC2 Container Service, Microsoft Azure Container Service, однако они менее популярны.

Kubernetes — универсальный солдат

Kubernetes — OpenSource-система для управления контейнерными кластерами. Появилась в результате наработок Google при использовании механизма для изоляции процессов в виртуальной среде (Borg). В 2014 г. Google открыла код Kubernetes и стала распространять систему под лицензией Apache 2.0.

Kubernetes

Благодаря тому, что Google открыла код и сделала свою систему оркестрации открытой, она стала самой популярной. Сегодня многие рассматривают ее как лучшее и универсальное решение для работы с приложениями в облачной среде. Платформу оркестрации поддерживают такие именитые вендоры как Red Hat, IBM, CoreOS и др.

Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения

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

Kubernetes — очень сложная система и позволяет делать практически все, что касается оркестрации контейнеров. У нее отличный dashboard, гибкие политики безопасности, она поддерживает распределенные/сетевые файловые системы без танцев с бубнами, обладает широкими возможностями по определению своих метаданных для сервисов, что удобно в больших инфраструктурах. Все бы хорошо, но у нее есть один бич — довольно скудная документация, особенно для такой сложной системы оркестрации.

Docker Swarm — для малых и средних предприятий

Docker Swarm — вторая по популярности система оркестрации и это не случайно. Ведь компания Docker была первой, кто предложил эффективную и удобную для корпоративного использования систему в 2013 г. Docker значительно упростила развертывание полноценных виртуальных систем и оркестрацию в целом.

Инструмент контейнерной кластеризации Docker Swarm появился немного позже и стал частью платформы Docker. Он позволяет объединять Docker-хосты в общий виртуальный хост.

Docker xelent

Docker Swarm интересна, прежде всего, малым и средним предприятиям, потребности которых не выходят за рамки запуска более 50 тысяч контейнеров и 1000 нод.

Несмотря на то, что Docker Swarm занимает более скромные позиции по сравнению с Kubernetes, ее поддержка со стороны корпоративного рынка достаточно весома. Чего стоит только активная поддержка со стороны Microsoft Azure! Именно поэтому данная платформа сейчас активно развивается, и никто не знает, какую долю рынка она займет через пару лет.

Apache Mesos — для кластера

На третьем месте по популярности система Apache Mesos. Изначально она появилась как исследовательский проект в Университете Беркли. Впервые она была собрана в полноценный продукт и представлена публично в 2009 г.

Apache Mesos — это централизованная отказоустойчивая система для управления кластером. Позволяет объединять в группы отдельные узлы, согласно определенным требованиям, а также обеспечивать их изоляцию от остальных IT-ресурсов.

Mesos

Сущность работы Apache Mesos отличается от привычной и уже ставшей традиционной модели виртуализации. Традиционный подход предусматривает дробление вычислительной среды, состоящей из множества физических машин, на их виртуальные аналоги. Apache Mesos работает иначе: она объединяет существующие объекты в единый виртуальный ресурс, формируя крупные кластеры и эффективную систему управления серверной инфраструктурой, в которой каждому кластеру выделяется свой индивидуальный пул ресурсов.

Система с поддержкой оркестрации получила широкую поддержку вендоров. В качестве операционной системы для центров обработки данных ее используют более 60 крупных компаний, в том числе Microsoft, Cisco, Dell, HPE, Autodesk, Twitter, eBay и др. Apache Mesos будет интересна крупным компаниям, которым приходится работать с очень большим количеством контейнерных кластеров (в отличие от той же Docker Swarm).

Что лучше?

Выбор системы оркестрации зависит от поставленных задач и своих предпочтений. Если вам нужна простая система, можно выбрать Docker Swarm. Но не стоит забывать о ее ограничениях: если нужно запускать большее количество контейнерных кластеров, тогда нужно смотреть в сторону Kubernetes или Apache Mesos.

Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent