2013-10-05 1 views
25

В последнее время у Google есть открытый источник lmctfy, стек контейнера Google. Я этого не понимаю, у меня есть несколько вопросов.В чем разница между lmctfy и lxc

В чем разница между lmctfy и lxc и докером?
Какую проблему Google разрешает с помощью lmctfy?

Thanks

ответ

46

Один из разработчиков 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

+4

Не забывайте видео разговора: https://www.youtube.com/watch?v=UdZOSQHFmss – olemartinorg

+0

«Мы не активно развивается дальше и переместили наши усилия на libcontainer »https://github.com/google/lmctfy -> https://github.com/docker/libcontainer ПРОЕКТ, ПЕРЕМЕЩЕННЫЙ В RUNC -> https://github.com/opencontainers/RunC – rofrol

Смежные вопросы