Один из разработчиков lmctfy здесь. Я постараюсь начать с однострочных и позже добавить несколько подробностей.
Ядро Linux поддерживает группы для изоляции ресурсов (процессор, память, блок-схема, сеть и т. Д.), Что не требует запуска виртуальных машин. Он также предоставляет пространствам имен, чтобы полностью изолировать представление приложения от операционной среды (деревья процессов, сеть, идентификаторы пользователей, крепления).
LXC объединяет поддержку групп и пространств имен для обеспечения изолированной среды для приложений. Docker строит поверх LXC, чтобы добавить к нему службы управления изображениями и развертывания.
lmctfy работает на том же уровне, что и LXC. Текущий релиз основывается на группах, и следующая версия добавит поддержку пространства имен.
Учитывая, что Docker работает на более высоком уровне, я просто сосредоточусь на различиях между lmctfy и lxc.
API управления ресурсами: API LXC создан для поддержки пространства имен и обеспечивает экспорт поддержки группы почти прозрачно. API Linux cgroup нестабилен и трудно справляется. С помощью lmctfy мы попытались предоставить конфигурацию ресурсов, основанную на намерениях, без необходимости понимать детали групп.
Приоритет - перекомпонование и совместное использование: lmctfy построен для обеспечения поддержки совместного использования ресурсов и для переопределения машин с пакетными рабочими нагрузками, которые могут выполняться, когда машина относительно свободна. Все приложения определяют требования к приоритету и времени ожидания. lmctfy управляет всеми деталями cgroup для соблюдения приоритетов и требований к задержкам для каждой задачи.
Программный интерфейс: lmctfy - это самый нижний блок управления приложениями для облака Google. Он построен для работы с другими инструментами и программами. Мы считаем, что это намного лучше указано и стабильно для построения более сложных инструментальных цепей над ним.
Мы lmctfy управления всеми потребностями выделения ресурсов Google, начиная с 2007 года До сих пор это было искажено в другие части Google инфраструктуры. Во время редизайна мы смогли отделить этот слой от чистоты и подумали, что было бы весело выставить его и вернуть.
Я дал Linux Plumbers в сентябре рассказать о lmctfy. Вы можете проверить некоторые детали там: http://www.linuxplumbersconf.org/2013/ocw/events/LPC2013/tracks/153
слайдам: http://www.linuxplumbersconf.org/2013/ocw//system/presentations/1239/original/lmctfy%20(1).pdf
Не забывайте видео разговора: https://www.youtube.com/watch?v=UdZOSQHFmss – olemartinorg
«Мы не активно развивается дальше и переместили наши усилия на libcontainer »https://github.com/google/lmctfy -> https://github.com/docker/libcontainer ПРОЕКТ, ПЕРЕМЕЩЕННЫЙ В RUNC -> https://github.com/opencontainers/RunC – rofrol