Domanda Qual è la differenza tra docker compose e kubernetes?


Durante l'immersione in Docker, Google Cloud e Kubernetes, e senza averli compresi chiaramente tutti e tre, mi sembra che questi prodotti si sovrappongano, ma non sono compatibili.

Ad esempio, un file di composizione docker, deve essere riscritto in modo che un'app possa essere distribuita su Kubernetes.

Qualcuno potrebbe fornire una descrizione approssimativa di alto livello di dove Docker, Docker Compose, Docker Cloud e Kubernetes si sovrappongono e da dove uno dipende dall'altro?


39
2017-11-28 16:34


origine


risposte:


docker:

Docker è la tecnologia contenitore che ti consente di containerizzare le tue applicazioni. Docker è il nucleo per l'utilizzo delle altre tecnologie.

Docker Componi:

Consente di configurare e avviare più contenitori finestra mobile. Viene utilizzato principalmente come helper quando si desidera avviare più contenitori di finestra mobile e non si desidera avviarli separatamente utilizzando docker run .... Docker compose è utilizzato per avviare i contenitori sul stesso ospite.

Sciame Docker:

Lo sciame Docker serve per correre e collegare i contenitori multiplo padroni di casa. Lo sciame Docker è uno strumento di gestione e orchestrazione dei cluster di container. Gestisce i contenitori in esecuzione su più host e fa cose come il ridimensionamento, l'avvio di un nuovo contenitore in caso di arresto anomalo, contenitori di rete ...

Lo sciame Docker è docker in produzione. È il nativo scaricatore di porto strumento di orchestrazione che è incorporato nel Docker Engine.

Il file dello sciame docker denominato file stack è molto simile a un file di composizione docker.

kubernetes:

Uno strumento di orchestrazione dei contenitori sviluppato da Google. L'obiettivo di Kubernetes è molto simile a quello per lo sciame Docker.

Docker Cloud:

UN pagato servizio di finestra mobile aziendale che consente di creare ed eseguire contenitori su server cloud o server locali. Fornisce un'interfaccia utente Web e un pannello di controllo centrale per l'esecuzione e la gestione dei contenitori, fornendo al contempo tutte le funzionalità della finestra mobile in un'interfaccia Web di facile utilizzo.

Aggiornare:

Docker cloud "parzialmente" interrotto

I servizi su Docker Cloud che forniscono la gestione di cluster di applicazioni, nodi e sciami si chiuderanno il 21 maggio ...   build automatizzati e servizi di archiviazione del registro, non saranno interessati e continueranno a essere disponibili


73
2017-11-28 17:00



la prima distinzione è tra il motore del contenitore e l'orchestratore di contenitori.

docker è un motore contenitore, ti fa costruire ed eseguire solitamente non più di un contenitore al massimo, localmente sul tuo PC per scopi di sviluppo.

docker-compose è un'utilità Docker per eseguire più contenitori e consentire loro di condividere volumi e networking tramite le funzionalità del motore docker, viene eseguita localmente per emulare la composizione del servizio e in remoto sui cluster.

Kubernetes è una piattaforma di orchestrazione di container, si occupa di gestire i contenitori e di migliorare le funzionalità del motore in modo che i contenitori possano essere composti e ridimensionati per servire applicazioni complesse (una sorta di PaaS, gestito da te o dal provider cloud). La caratteristica principale di Kubernetes è quella di disaccoppiare l'infrastruttura dall'applicazione usando i container, ed è aperta anche ad altri motori che Docker, ad esempio può eseguire contenitori con rkt o cri-o.

Docker cloud è anche un'offerta PaaS che ti consente di eseguire e orchestrare i contenitori attraverso il docker API del motore.

Ora, in base alle esigenze, al livello di controllo sull'infrastruttura e al pubblico di destinazione, puoi utilizzare Kubernetes su baremetal o Azure ACS o Google GKE, ecc.

Spero che questo ha aiutato :) Saluti


4
2017-11-28 17:02



Inoltre @ yamenk di rispondi, vorrei aggiungere qui alcuni dettagli che potrebbero aiutare le persone nel loro percorso di comprensione di Kubernetes.

Risposta breve:

  • docker-compose: è un strumento che prende un file YAML che descrive il tuo multi-contenitore applicazione e ti aiuta creare, start / stop, rimuovere quei contenitori senza dover digitare più docker ... comandi.
  • Kubernetes: è un piattaforma per la gestione di carichi di lavoro e servizi containerizzati, che facilita la configurazione dichiarativa e l'automazione. Che cosa? Continua a leggere...

Docker Compose

(dai documenti): Compose è uno strumento per la definizione e l'esecuzione di applicazioni Docker multi-contenitore. Con Compose, si utilizza un file YAML per configurare i servizi dell'applicazione. Quindi, con un singolo comando, crei e avvii tutti i servizi dalla tua configurazione.

Compose ha i comandi per la gestione dell'intero ciclo di vita della tua applicazione:

  • Avvia, interrompi e ricostruisci i servizi
  • Visualizza lo stato dei servizi in esecuzione
  • Trasmetti l'output del registro dei servizi in esecuzione
  • Esegui un comando one-off su un servizio

kubernetes

Kubernetes è un orchestratore di contenitori come Docker Swarm, Mesos Marathon, Amazon ECS, Nomade di Hashicorp. Gli orchestrator dei contenitori sono gli strumenti che raggruppano gli host per formare un cluster e ci aiutano a garantire le applicazioni:

  • sono tolleranti ai guasti,
  • può ridimensionare e farlo su richiesta
  • utilizzare le risorse in modo ottimale
  • può scoprire automaticamente altre applicazioni e comunicare tra loro
  • sono accessibili dal mondo esterno
  • può aggiornare / rollback senza tempi di fermo.

Molte persone sostengono che Kubernetes sia difficile da imparare. È perché risolve una serie di problemi e le persone cercano di capire senza conoscere tutti i prerequisiti. Questo lo rende complicato. Inizia a mettere insieme i pezzi del puzzle leggendo concetti / termini come:

  • App per 12 fattori,
  • Binpacking automatico,
  • Auto-guarigione,
  • Ridimensionamento orizzontale,
  • Scoperta del servizio e bilanciamento del carico,
  • Implementazioni e rollback automatici,
  • Segreti e gestione della configurazione,
  • Orchestrazione di archiviazione

E poiché ci sono molte cose diverse intorno ai container e alla loro gestione, tieni d'occhio il Clound Native landscape:

Versione interattiva qui: landscape.cncf.io/

enter image description here


4
2018-06-07 08:28