В последнее время у Google есть открытый источник lmctfy, стек контейнера Google. Я этого не понимаю, у меня есть несколько вопросов.
Каковы различия между lmctfy и lxc и docker?
Какую проблему Google разрешает с помощью lmctfy?
Спасибо
В последнее время у Google есть открытый источник lmctfy, стек контейнера Google. Я этого не понимаю, у меня есть несколько вопросов.
Каковы различия между lmctfy и lxc и docker?
Какую проблему Google разрешает с помощью lmctfy?
Спасибо
Один из разработчиков lmctfy здесь. Я постараюсь начать с однострочных и позже добавить несколько подробностей.
Ядро Linux поддерживает группы для изоляции ресурсов (процессор, память, блок-схема, сеть и т.д.), которые не требуют запуска виртуальных машин. Он также предоставляет пространствам имен, чтобы полностью изолировать вид приложения операционной среды (деревья процессов, сеть, идентификаторы пользователей, mounts).
LXC объединяет поддержку cgroup и namespace для обеспечения изолированной среды для приложений. Docker строит поверх LXC, чтобы добавить к нему службы управления изображениями и развертывания.
lmctfy работает на том же уровне, что и LXC. Текущая версия построена на группах, и следующая версия добавит поддержку пространства имен.
Учитывая, что Docker работает на более высоком уровне, я просто сосредоточусь на различиях между lmctfy и lxc.
API управления ресурсами: LXC API создан для поддержки пространства имен и обеспечивает экспорт поддержки cgroup почти прозрачно. 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