Каковы преимущества и недостатки двухуровневого планировщика (как в Apache Mesos) по сравнению с одноуровневым планировщиком (как в Nomad или Kubernetes)?

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

1 ответ

Решение

Полное раскрытие: я работаю в Месосфере:)

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

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

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

Я думаю, что эта диаграмма из этого блога хорошо иллюстрирует двухуровневое планирование.

Другие вопросы по тегам