Mesos поддерживает изоляцию «Posix» только на Mac, что на самом деле больше для мониторинга, чем для фактического ограничения ресурсов, поэтому тестирование Mesos на Mac не сможет продемонстрировать истинную изоляцию ресурсов.
Если вы тестируете Mesos на машине/ВМ с Linux, вы можете установить:
--isolation='cgroups/cpu,cgroups/mem'
при запуске каждого подчиненного устройства, чтобы включить изоляцию cgroups, которая создаст контейнер и запустит ваш скрипт/процесс внутри него. Изолятор cgroups будет ограничивать использование процессора, когда контейнер/процесс превысит свою долю процессора (не фиксированную долю процессора), и уничтожит процесс (уничтожит контейнер), если он превысит лимит памяти.
Также обратите внимание, что Mesos 0.21 теперь поддерживает сетевой изолятор и подключаемые модули изоляции, так что вы можете создать свой собственный изолятор графического процессора, изолятор кэша и т. д.
Если вы хотите включить контейнеризатор Docker (0.20+), просто установите:
--containerizers='docker,mesos'
при запуске слейвов, а потом можно запускать произвольные образы докеров и запускать внутри них команды. Docker по-прежнему использует cgroups внизу, поэтому изоляторы cgroups полностью совместимы с образами Docker, которые вы запускаете на Mesos.
Если вы используете пакеты Mesosphere, вы можете передать опцию подчиненному Mesos, создав файл конфигурации в /etc/mesos-slave
, например:
echo 'docker,mesos' > /etc/mesos-slave/containerizers
person
Adam
schedule
19.12.2014