Ответ 1
Ваше резюме почти правильно, но оно не отражает суть того, что представляет собой мезо. Видение мезосферы, компании, стоящей за проектом, заключается в создании "операционной системы Datacenter", а мезос - это ядро по аналогии с ядром нормальной ОС. API не ограничивается Java, вы можете использовать C, С++, Java/Scala или Python. Если вы настроили свой кластер mesos, как вы описываете в своем вопросе и хотите использовать свои ресурсы, вы обычно делаете это через фреймворк вместо того, чтобы выполнять свою рабочую нагрузку непосредственно на нем. Это не означает, что это сложно вот очень маленький пример в Scala, который демонстрирует это. Существуют рамки для множества популярных распределенных систем обработки данных, таких как Apache Spark, Apache Cassandra. Существуют другие рамки, такие как Chronos cron на уровне центра обработки данных или Marathon, который позволяет вам для запуска приложений на основе Docker.
Update:
Да, mesos позаботится о размещении в кластере как о том, что делает ядро - планирование и управление ограниченными ресурсами. Однако у вас есть набросок, который вызывает несколько очевидных вопросов.
Слои ниже мезо: Установка mesos на CoreOS возможна, но, насколько мне кажется, громоздка. Это не типичный сценарий для запуска мезо - обычно он перемещается на минимально возможный уровень (выше Ubuntu в вашем случае). Поэтому я надеюсь, что у вас есть веские причины для запуска CoreOS и гипервизора.
Слои выше мезо: Кубернеты доступны в качестве рамок, и мезосфера, похоже, прилагает к этому много усилий. Тем не менее, нет сомнений в том, что частичное перекрытие функциональности - особенно в отношении планирования. Если вы хотите запланировать основные рабочие нагрузки на основе контейнеров, вам может быть лучше с Marathon или в будущем возможно Aurora. Так и здесь я надеюсь, что у вас есть веские причины для этой самой договоренности. Sidenote: Кубернетес похож на марафон с более широким подходом и довольно упрямым.