2013-10-05 34 views
25

Recentemente Google ha aperto l'origine lmctfy, stack contenitore di Google. Non lo capisco molto, ho alcune domande.Qual è la differenza tra lmctfy e lxc

Quali sono le differenze tra lmctfy e lxc e docker?
Che problema risolve Google con lmctfy?

Grazie

risposta

46

Uno degli sviluppatori di lmctfy qui. Cercherò di iniziare con one-liner e inserire ulteriori dettagli in seguito.

Il kernel Linux supporta i cgroup per l'isolamento delle risorse (cpu, memoria, blockio, rete, ecc.) Che non richiede l'avvio di macchine virtuali. Fornisce inoltre spazi dei nomi per isolare completamente la vista dell'applicazione dell'ambiente operativo (alberi dei processi, rete, ID utente, montature).

LXC combina il supporto per cgroup e spazio dei nomi per fornire un ambiente isolato per le app. Docker costruito su LXC per aggiungere servizi di gestione e distribuzione delle immagini.

lmctfy funziona allo stesso livello di LXC. La versione corrente si basa su cgroup e la prossima versione aggiungerà il supporto per lo spazio dei nomi.

Dato che Docker funziona a un livello superiore, mi concentrerò solo sulle differenze tra lmctfy e lxc.

  • Resource gestione API: LXC API è costruito per il supporto dello spazio dei nomi e delle esportazioni cgroup supportano quasi trasparente. Linux cgroup API è instabile e difficile da gestire. Con lmctfy, abbiamo cercato di fornire una configurazione delle risorse basata sull'intento senza che gli utenti dovessero comprendere i dettagli dei cgroup.

  • priorità - Overcommitment e condivisione: lmctfy è costruito per fornire il supporto per la condivisione delle risorse e per overcommitting macchine con carichi di lavoro in batch che possono essere eseguiti quando la macchina è relativamente inattivo. Tutte le applicazioni specificano requisiti di priorità e latenza. lmctfy gestisce tutti i dettagli del cgroup per rispettare i requisiti di priorità e latenza per ogni attività.

  • Interfaccia programmatica: lmctfy è il blocco più basso di gestione delle app per il cloud di Google. È costruito per funzionare con altri strumenti e programmi. Riteniamo che sia molto meglio specificato e stabile per costruire toolchain più complicati sopra di esso.

Abbiamo lmctfy la gestione di tutte le esigenze di isolamento delle risorse di Google dal 2007. Finora, è stato maciullato in altri pezzi di Google Infrastruttura. Durante una riprogettazione, siamo riusciti a separare questo strato in modo pulito e abbiamo pensato che sarebbe stato divertente metterlo fuori e restituirlo.

Ho tenuto un discorso su Linux Plumbers a settembre su lmctfy. È possibile controllare alcuni dei dettagli là: http://www.linuxplumbersconf.org/2013/ocw/events/LPC2013/tracks/153

diapositive: http://www.linuxplumbersconf.org/2013/ocw//system/presentations/1239/original/lmctfy%20(1).pdf

+4

Non dimenticare il video del talk: https://www.youtube.com/watch?v=UdZOSQHFmss – olemartinorg

+0

"Siamo non attivamente sviluppando ulteriormente lmctfy e abbiamo spostato i nostri sforzi su libcontainer "https://github.com/google/lmctfy -> https://github.com/docker/libcontainer PROJECT MOVED TO RUNC -> https://github.com/opencontainers/Runc – rofrol

Problemi correlati