Что делает Apache Mesos, что Кубернетес не может сделать и наоборот?

Что делает Apache Mesos, что Кубернетес не может сделать или наоборот?

Mesos - двухуровневый планировщик. Уверен, что он захватывает информацию о ресурсах с каждой машины и предоставляет ее планировщику верхнего уровня, так что фреймворки, такие как кубернеты, могут использовать для планирования контейнеров на разных машинах, но Кубернете может сам планировать контейнеры на разных машинах (от этого нет необходимости в Mesos). так что мало что может сделать Apache Mesos, что Кубернетес не может сделать или наоборот?

Ответ 1

И Месос, и Кубернетес являются оркестровщиками контейнеров n-го уровня. Это означает, что вы можете достичь тех же самых функций, но некоторые задачи могут быть выполнены проще (читайте лучше) на одной из них. На самом деле, вы можете запустить Kubernetes на Месос и наоборот.

Давайте рассмотрим основные различия, которые дают некоторую подсказку, когда вам нужно принять решение:

Архитектура

Как вы указали, Mesos - это двухуровневый планировщик, и в этом главное отличие архитектуры. Это дает вам возможность создать свой собственный планировщик (он же фреймворк) для запуска ваших задач. Более того, вы можете иметь более одного планировщика. Все ваши планировщики соревнуются за ресурсы, которые справедливо распределены с использованием алгоритма Dominant Resources Fairness (который можно заменить пользовательским распределителем). Вы также можете назначить роли для структур и задач и назначить веса для этих ролей, чтобы расставить приоритеты для некоторых планировщиков. Роли тесно связаны с ресурсами. Вышеперечисленные функции дают вам возможность создать свой собственный способ планирования для различных приложений (например, Fenzo) с различной эвристикой, основанной на типе задач, которые вы хотите выполнить. Например, при выполнении пакетных задач хорошо располагать их рядом с данными, и время запуска не так важно. С другой стороны, запуск служб без сохранения состояния не зависит от узлов, и более важно запускать их как можно скорее.

Mesos Architecture

Архитектура Kubernetes - это одноуровневый планировщик. Это означает, что решения, где будет запущен модуль pod, принимаются в одном компоненте. Нет такой вещи как предложение ресурса. С другой стороны, все там подключаемо и построено с многоуровневым дизайном.

Kubernetes architecture

происхождения

Месос был создан в Твиттере (ранее в Беркли, но первое использование производства было в Твиттере), чтобы поддержать их масштаб.

В марте 2010 года, примерно через год в проекте Mesos, Хиндман и его коллеги из Беркли выступили с речью в Twitter. Сначала он был разочарован. Только около восьми человек пришли. Но потом главный ученый в Твиттере сказал ему, что восемь человек - это много - около десяти процентов всего персонала компании. И затем, после разговора, трое из этих людей подошли к нему.

Вскоре Хиндман консультировался в Твиттере, работая рука об руку с этими бывшими инженерами Google и другими над расширением проекта. Затем он присоединился к компании в качестве стажера. И через год после этого он записался как штатный сотрудник. источник

Kubernetes был создан Google для привлечения пользователей в их облако, не требуя блокировки. Это то же самое, что Amazon применил к Kindle. Вы можете прочитать любую книгу на нем, но использование ее с Amazon даст вам лучший опыт. То же самое относится и к Google. Вы можете запускать Kubernetes в любом облаке (публичном или частном), но лучшие инструменты, интеграция и поддержка вы получите только в Google Cloud.

Но Google и Microsoft разные. Microsoft хочет поддерживать все на Azure, в то время как Google хочет, чтобы Kubernetes везде. (В некотором смысле, Microsoft соответствует названию Borg, ассимилируя всех оркестраторов, а не Google.) И буквально Kubernetes - это то, как Google подыгрывает локальной облачной толпе, отделяя ее от AWS (что не продавать свою инфраструктуру в виде стека с лицензией, хотя в нем говорится, что VMware является партнером по частному облаку) и Microsoft (у которой до сих пор нет частного облака Azure Stack). источник

сообщество

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

Сообщество мезос намного меньше, чем Кубернетес. Это факт. Kubernetes получает финансовую поддержку от многих крупных компаний, включая Google, Intel, Mirantis, RedHat и других, в то время как Mesos разрабатывается главным образом Mesosphere при некоторой поддержке Apple, Microsoft. Хотя Mesos является зрелым проектом, его разработка идет медленно, но стабильно. С другой стороны, Kubernetes намного моложе, но быстро развивается.

Mesos Community

Происхождение авторов мезо

Сообщество Kubernetes - Ян Льюис, Адвокат Разработчик, Google

Масштаб

Mesos был ориентирован на крупных клиентов с самого начала. Он используется в Twitter, Apple, Verizon, Yelp, Netflix для запуска сотен тысяч контейнеров на тысячах серверов.

Kubernetes был создан Google для предоставления разработчикам инфраструктуры Google (GIFFE). С самого начала его готовили для небольших масштабов до сотен машин. Это ограничение увеличивается с каждым выпуском, но они начинали с малого, чтобы расти. Публичных данных о самой большой инсталляции Kubernetes нет.

обман

Из-за проблем с масштабированием, Kuberntetes стали популярны среди небольших компаний (не облачных), а Mesos была ориентирована на корпоративных пользователей. Kubernetes поддерживается Cloud Native Foundation, а Mesos - это Apache Foundation Project. Эти два фонда имеют разных основателей и спонсоров. Как правило, больше денег дает вам лучший маркетинг, и Kubernetes определенно сделал это правильно.

Mesos vs Kubernetes

https://g.co/trends/RUuhA

Заключение

Похоже, Кубернетес уже выиграл войну с оркестром контейнеров. Но если у вас есть нестандартные рабочие нагрузки и действительно большие масштабы, Mesos может быть хорошим выбором.

Основное различие заключается в размере сообщества и модели с открытым исходным кодом: там, где DCOS поддерживается Mesosphere и предоставляет корпоративные функции только в коммерческом продукте (поскольку мезосфера не является филантропом), у K8S есть более обширное сообщество с большим вкладом различных компаний, в результате чего в предоставлении гораздо более интегрированных корпоративных функций (многопользовательская, RBAC, квота, вытеснение, шлюзы...), что означает, что они более просты в использовании, не обязательно, что они не существуют в DCOS. Я бы сказал, что:

  • DCOS более полно тестируется для рабочих нагрузок с большими объемами данных и данными, но не имеет интеграции с другими периметрическими компонентами, включая централизованный мониторинг и ведение журнала "включай и работай", а также корпоративные функции, такие как модель безопасности, многопользовательские режимы, автообновления... Это был очень сложный способ интеграции все для платформы производственного класса.
  • K8S более полно протестирован для приложений без сохранения состояния и предоставляет множество инструментов plug-and-play, таких как prometheus, EFK, helm..., которые значительно упрощают внедрение платформы промышленного уровня. Наряду с этим наблюдается значительный рост рабочих нагрузок с сохранением состояния с помощью наборов состояний и шаблона оператора, сравнимого с мезо-фреймворками, но опять же, K8S предоставляет множество инструментов для их разработки с меньшими затратами, поскольку множество функций предоставляется из коробки, для этого требуется Мне понадобилось 2 месяца, чтобы разработать оператора MongoDB для предоставления MongoDB в качестве услуги мультитенантным и безопасным способом, и мне нужно было одновременно изучать Голанг.

источник