Ответ 1
Я попытаюсь разбить уникальные аспекты каждой структуры оркестровки контейнеров на Mesos.
Используйте Docker Swarm, если:
- Вы хотите использовать знакомый API Docker для запуска контейнеров Docker на Mesos.
- Рой может в конечном итоге предоставить API для общения с Kubernetes (даже K8s-Mesos).
- Смотрите: http://www.techrepublic.com/article/docker-and-mesos-like-peanut-butter-and-jelly/
Используйте Kubernetes-Mesos, если:
- Вы хотите запустить K8s Pods, которые представляют собой группы контейнеров, совместно запланированных и совместно расположенных вместе, разделяя ресурсы.
- Вы хотите запустить службу рядом с одним или несколькими контейнерами sidekick (например, архиватором журналов, мониторами показателей), которые живут рядом с родительским контейнером.
- Вы хотите использовать обнаружение сервисов на основе меток на основе K8s, управление балансировкой нагрузки и управление репликацией.
- См. http://kubernetesio.blogspot.com/2015/04/kubernetes-and-mesosphere-dcos.html
Используйте Marathon, если:
- Вы хотите запустить приложения Docker или не-Docker с длительным сроком службы.
- Вы хотите использовать атрибуты Mesos для планирования на основе ограничений.
- Вы хотите использовать группы приложений и зависимости для запуска, масштабирования или обновления связанных сервисов.
- Вы хотите использовать проверки работоспособности, чтобы автоматически перезапускать нездоровые службы или откатывать нездоровые развертывания/обновления.
- Вы хотите интегрировать HAProxy или Consul для обнаружения службы.
- Вы хотите запускать и контролировать приложения через веб-интерфейс или REST API.
- Вы хотите использовать фреймворк, построенный с самого начала с помощью Mesos.
Используйте Chronos, если:
- Вы хотите запустить Docker или не-Docker задачи, которые должны выйти.
- Вы хотите запланировать выполнение задачи в определенное время/расписание (a la
cron
). - Вы хотите запланировать рабочий процесс DAG зависимых задач.
- Вы хотите запускать и отслеживать задания через веб-интерфейс или REST API.
- Вы хотите использовать фреймворк, построенный с самого начала с помощью Mesos.