У нас есть этот сценарий.
У нас есть арка 3/3 master/slave для Mesos.
Каждый рукав идентичен, 4 ГБ ОЗУ и 4 ядра процессора.
Мы запустили 10 приложений-марафонцев с 1-ядерным процессором и 1 ГБ оперативной памяти. Мы запустили контейнеры, но не использовали их, так как система говорит, что 97% ЦП свободен.
Теперь мы пытаемся запустить другой контейнер с 3-ядерным процессором и 2 ГБ оперативной памяти.
К сожалению, мы не можем запустить контейнер, в логах Mesos написано, что марафон отклонил предложение, но все подчиненные узлы ничего не делают. Приложения Marathon сами оставались в состоянии развертывания.
Если mesos не может выделить ресурсы для приложения марафона (если контейнеры не используют ресурсы), то какой смысл в интеграции с Docker.
В моем понимании:
Как только предложение принимается приложением marathon, даже если докер не использует этот ресурс, mesos считает, что ресурсы уже используются приложением. Но если контейнер не использует какие-либо ресурсы, mesos необходимо собрать доступные ресурсы и выделить их следующему марафонскому приложению.
Вместо этого, как только предложение назначается приложению marathon, Mesos вычитает выделенные ресурсы из общих ресурсов.
Мы не полностью используем функции Docker в Mesos/Marathon.
Дайте мне знать любые предложения и ответы.
Спасибо