- PVSM.RU - https://www.pvsm.ru -
Разработчики Apache mesos заявляют [1], что mesos научился делать overprovisioning начиная с версии 0.23.0, вышедшей в сентябре прошлого года. Для этого ввели понятие отзываемых (revocable) ресурсов, и если приложение выполняется на отзываемых ресурсах — его всегда можно попросить освободить ресурсы частично (throttle) или полностью (kill). Определить, на каких ресурсах будет выполняться задача можно на этапе запуска, пометив некоторые (или все) запрошенные задачей ресурсы как revocable
.
На практике, для использования этой фичи нужно:
Как видно из требований выше, для эффективного использования предложенной модели требуется некоторая поддержка со стороны выполняемых в mesos задач, как минимум в части управления потребляемыми ресурсами. Конечно, будет очень круто написать resource estimator привязанный к логике приложения, но даже предсказания на основе ежедневной статистики изменения нагрузки дадут неплохой эффект.
В комплекте с mesos сейчас поставляются пара resource estimator'ов:
noop
— заглушка, запрещающая oversubscription fixed
— позволяющий объявить отзываемыми фиксированное количество ресурсов хоста. и пара qos controller'ов:
noop
— отключит отзыв ресурсов на уровне хостаload
— умеет убивать все задачи, выполняемые на отзываемых ресурсах, если load average на хосте превысит пороговые значенияК сожалению на этом хорошие новости пока заканчиваются, т.к. поддержка со стороны распространенных framework'ов практически отсутствует.
В Marathon например поддержка отзываемых ресурсов пока реализована крайне слабо:
Кстати, в вышеупомянутой статье [3] есть утверждение которое полезно показать менеджменту, требующему оптимизировать использование ресурсов отталкиваясь от низкой утилизации cpu на хостах, например:
While CPU and memory allocation is often close to or above 80% of those peak loads, the average usage is typically below 20%.
В kubernets, и того меньше — удалось найти один непопулярный issue [5] с упоминанием проблемы.
Таким образом, сейчас на базе стека mesos-marathon не получится использовать over-provisioned ресурсы, что явно сказывается на экономической эффективности решения.
Автор: aaaler
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/virtualizatsiya/111707
Ссылки в тексте:
[1] заявляют: http://mesos.apache.org/documentation/latest/oversubscription/
[2] выполнен чисто формально: https://github.com/mesosphere/marathon/blob/releases/0.15/src/main/proto/mesos/mesos.proto#L262
[3] статья: https://mesosphere.com/blog/2015/08/26/turbocharging-your-mesos-cluster-with-oversubscription/
[4] opened issue: https://github.com/mesosphere/marathon/issues/2424
[5] непопулярный issue: https://github.com/kubernetes/kubernetes/issues/19529
[6] Источник: https://habrahabr.ru/post/276773/
Нажмите здесь для печати.