Каковы основные отличия функций популярных инструментов оркестрации контейнеров kubernetes, rancher и mesos?
Что бы побудило вас выбрать одно из другого?
Каковы основные отличия функций популярных инструментов оркестрации контейнеров kubernetes, rancher и mesos?
Что бы побудило вас выбрать одно из другого?
Ответы:
Прежде всего, Rancher фактически содержит в себе реализации как Kubernetes, так и Mesos. Тем не менее, они создали свою собственную систему под названием «Крупный рогатый скот», которая в значительной степени основана на Рое Докера. Я коснусь этого в разделе для Rancher.
Во-вторых, поскольку каждый из них предлагает аналогичные базовые функции (балансировка нагрузки, изоляция ресурсов и т. Д.), Я постараюсь больше рассказать о том, что отличает их, а не фокусироваться на различиях между этими общими функциями, если они не являются существенными.
Сосредоточена на высокой производительности, также включает в себя оркестровку облачного хранилища (функция отсутствует в Mesos, хотя, вероятно, есть плагин для нее). Имеет параметры API, позволяющие автоматически масштабировать использование ресурсов по мере необходимости отдельными контейнерами (и наоборот, если контейнер не подвергается сильным ударам, в то время как другие).
Что-то важное в Kubernetes заключается в том, что в отличие от другого программного обеспечения для оркестровки контейнеров, оно не обеспечивает всеобъемлющей конфигурации или какого-либо всеобъемлющего самовосстановления. Вместо этого он фокусируется на непрерывном развертывании нескольких приложений с простой системой отката на уровне приложений (в результате вы, возможно, захотите изучить микросервисы при его использовании).
Каждое приложение представляет собой небольшую часть и может быть развернуто / настроено индивидуально. В своих документах они утверждают, что Kubernetes не является традиционной системой PaaS (платформа как услуга), поскольку ей не хватает промежуточного программного обеспечения для виртуального оборудования или баз данных, и оно не создает само ваше приложение. Он разработан для того, чтобы (как они сами говорят) избавить от необходимости ручного управления контейнером, вместо этого автоматизируя процесс, постоянно нажимая на целевое состояние приложения.
Монолитный по сравнению с Кубернетесом. Ориентирован на общую картину в большей степени, чем на отдельные сервисы, хотя он по-прежнему позволяет управлять отдельными сервисами. Предоставляет встроенное промежуточное программное обеспечение для таких вещей, как Spark, Hadoop и т. Д. Лучшее использование Mesos будет включать в себя множество плагинов, так как он легко расширяется.
Если вам нужен детальный контроль над управлением вашим приложением (если есть плагин для того, что вы хотите сделать, или если у вас есть член команды, желающий создать его, если его нет), вы захотите использовать Mesos.
Потенциально лучший вариант в том, что он сам является надмножеством двух предыдущих, имея реализацию обоих. Это также может быть расценено как недостаток, так как усложнение программного обеспечения для управления редко бывает полезным и может привести к непредвиденным проблемам.
Rancher имеет каталог приложений, который позволяет развертывание одним щелчком, чего у Kubernetes нет из-за философии дизайна. Однако, поскольку у Rancher есть реализация Kubernetes, вы можете использовать Rancher, если считаете, что эти функции отсутствуют в Kubernetes.
В основе крупного рогатого скота лежит система стеков, в которой вы объединяете связанные службы. Здесь также находится Rancher Compose, функция, похожая на одноименную службу Docker. Это, вероятно, самая интересная часть Cattle, остальная часть довольно стандартная (хотя управление Secret все еще находится в бета-версии). Если у вас есть опыт работы с Docker Compose, вы должны прочитать об этом здесь (я не знаю, так что я, вероятно, не лучший человек, чтобы писать об этом).
Ресурсы: « Что такое Kubernetes? », « Обзор Rancher », « mesos.apache.org:« Что такое Mesos? » "