2013-05-30 22 views

risposta

81

La differenza principale è che Docker come progetto è focalizzato solo sul contenitore di runtime, mentre OpenShift (come sistema) include sia il contenitore di runtime che l'API REST, il coordinamento e le interfacce Web per distribuire e gestire i singoli contenitori.

Confrontando solo i contenitori di runtime, OpenShift e Docker utilizzano entrambe le funzionalità di isolamento del kernel per mantenere separati i processi dei titolari. Per Docker è principalmente tramite LXC e OpenShift, in gran parte tramite SELinux e Multiple Category Security (MCS). Entrambi usano cgroup per limitare CPU, memoria e I/O dei tenant. Upstream OpenShift sta guardando a LXC per ridurre gli sforzi a lungo termine.

Docker utilizza AUFS per la condivisione avanzata di file e copia in scrittura, OpenShift non richiede né è incompatibile con tale sistema.

All'interno del contenitore, OpenShift modella unità di funzionalità (server Web, dbs) tramite "cartucce", che sono un insieme di hook di shell shell che vengono chiamati quando viene richiamato il sistema. L'API è descritta here. Una cartuccia è più o meno simile all'immagine di una finestra mobile.

Openshift descrive anche l'API mediante la quale un broker (coordinatore) comunica con i nodi (server che ospitano più contenitori tenant) per richiamare gli endpoint in quel contenitore.

A cura di aggiungere: A giugno 2015, OpenShift Origin 1.0 viene eseguito sulla parte superiore del Docker e kubernetes, e si può costruire e sviluppare applicazioni multi-container che girano sul runtime finestra mobile. OpenShift aggiunge build, flusso di lavoro e promozione delle immagini e operazioni di cluster di container sicure su Kube e Docker

+1

meraviglioso, grazie! – w00t

+2

@Clayton Collegamento interrotto. L'API della cartuccia è ora descritta [qui] (http://openshift.github.io/documentation/oo_cartridge_developers_guide.html). –

+0

Risolto il collegamento e aggiunte ulteriori informazioni su OpenShift e Docker – Clayton

2

Ecco la migliore spiegazione per principianti. https://deis.com/blog/2016/kubernetes-illustrated-guide/

Questo non è uno scherzo, a volte abbiamo bisogno di vedere le cose come un bambino sarebbe per capire veramente.

Non direi che sono addirittura paragonabili. Openshift è una soluzione aziendale redhat che si basa su kubernetes. Kubernetes è solo un framework per aiutare a organizzare e automatizzare il lavoro con i contenitori di finestra mobile. Vorrei iniziare con il video e poi guardare kupernetes a un livello inferiore. Una volta che hai dimestichezza, inizia a esaminare le funzionalità aggiunte da openshift.

+0

OpenShift non è solo una versione aziendale di Kubernetes, fornisce molto valore aggiunto in più. Lo stesso Kubernetes non è un prodotto per l'utente finale, è solo un progetto che aiuta a gestire i contenitori. Devi aggiungere molti altri progetti con Kubernetes per renderlo più utilizzabile dagli sviluppatori. Ad esempio, metriche, registrazione aggregata, automazione di build e distribuzione, opzionalmente eseguita con Jenkins. Tutti questi tipi di cose e altro vengono fuori dalla scatola con OpenShift, dove devi installarli tu stesso con Kubernetes. –

0

ho trovato alcune letture interessanti su questo argomento nel corso degli ultimi due anni:

Problemi correlati