linux - lxd - ¿Cuál es la diferencia entre lmctfy y lxc?
lxc vs docker (1)
Recientemente, Google ha abierto lmctfy , la pila de contenedores de Google. No lo entiendo mucho, tengo algunas preguntas.
¿Cuáles son las diferencias entre lmctfy y lxc y docker?
¿Qué problema resuelve Google con lmctfy?
Gracias
Uno de los desarrolladores de lmctfy aquí. Trataré de comenzar con frases de una línea y luego agregaré algunos detalles más.
El kernel de Linux admite cgroups para el aislamiento de recursos (cpu, memory, blockio, network, etc.) que no requiere el inicio de máquinas virtuales. También proporciona espacios de nombres para aislar completamente la vista de la aplicación del entorno operativo (árboles de procesos, red, ID de usuario, montajes).
LXC combina la compatibilidad con cgroup y namespace para proporcionar un entorno aislado para las aplicaciones. Docker se construye sobre LXC para agregarle servicios de implementación y administración de imágenes.
lmctfy funciona al mismo nivel que LXC. La versión actual se basa en cgroups y la próxima versión agregará soporte de espacio de nombres.
Dado que Docker funciona en un nivel superior, solo me centraré en las diferencias entre lmctfy y lxc.
API de administración de recursos: la API de LXC está diseñada para la compatibilidad con el espacio de nombres y exporta la compatibilidad de cgroup de forma casi transparente. Linux cgroup API es inestable y difícil de manejar. Con lmctfy, intentamos proporcionar una configuración de recursos basada en la intención sin que los usuarios tuvieran que entender los detalles de cgroups.
Prioridad: Compromiso excesivo y uso compartido: lmctfy está diseñado para brindar soporte para compartir recursos y para cometer demasiado equipos con cargas de trabajo por lotes que pueden ejecutarse cuando la máquina está relativamente inactiva. Todas las aplicaciones especifican una prioridad y requisitos de latencia. lmctfy administra todos los detalles de cgroup para cumplir con los requisitos de prioridad y latencia para cada tarea.
Interfaz programática: lmctfy es el bloque de administración de aplicaciones más bajo para la nube de Google. Está construido para trabajar con otras herramientas y programas. Creemos que está mucho mejor especificado y estable para construir cadenas de herramientas más complicadas por encima de él.
Desde 2007, lmctfy ha gestionado todas las necesidades de aislamiento de recursos de Google. Hasta el momento, se ha transformado en otras piezas de la infraestructura de Google. Durante un rediseño, pudimos separar esta capa limpiamente y pensamos que sería divertido apagarla y devolverla.
Di una charla de Linux Plumbers en septiembre sobre lmctfy. Puede consultar algunos de los detalles allí: http://www.linuxplumbersconf.org/2013/ocw/events/LPC2013/tracks/153
diapositivas: http://www.linuxplumbersconf.org/2013/ocw//system/presentations/1239/original/lmctfy%20(1).pdf