GNU/Linux >> Linux Esercitazione >  >> Linux

Differenza tra containerizzazione e orchestrazione:una prospettiva da profano

Containerizzazione e orchestrazione.

Potresti aver incontrato questi due termini nel mondo DevOps, soprattutto se sei un amministratore di sistema.

Ci sono già molti articoli che hanno cercato di spiegare la differenza tra containerizzazione e orchestrazione, ma la maggior parte di essi concentra il proprio confronto su Docker e Kubernetes.

Prima di differenziare tra i software, è essenziale comprendere la differenza tra il loro scopo e il motivo per cui sono stati sviluppati in primo luogo.

Quindi, in questa rapida lettura, ho cercato di esplorare cosa significano effettivamente i termini containerizzazione e orchestrazione come concetti fondamentali per principianti e principianti.

Come puoi distinguere tra containerizzazione e orchestrazione? Usiamo un'analogia.

Una prospettiva per esperti sulla containerizzazione e l'orchestrazione

La parola contenitore rappresenta un grande cubo isolato in un ambiente individuale. Questi container immagazzinano merci e vengono caricati su una nave.

Puoi immaginarlo come i container attraccati su una nave in un cantiere navale.

"Dock", "Dockyard" e "Docker"! Questi termini suonano un campanello?

La parola orchestra rappresenta un gruppo di musicisti che eseguono una nota musicale in perfetta sincronia, aiutati da un direttore d'orchestra o altrimenti chiamato violinista.

Questa armonia musicale perfettamente sincronizzata è ciò che chiami orchestrazione.

Ora, quando lo guardi in prospettiva DevOps e cerchi di capire come questa idea sia stata adottata per la gestione delle applicazioni in esecuzione all'interno dei sistemi informatici, devi sostituire i musicisti con "navi" container.

Le applicazioni che ho menzionato qui sono molto simili al carico contenuto all'interno del container di una nave.

Quindi, puoi visualizzare il software Docker come una nave, attraccata con diversi container che eseguono diverse applicazioni. Il modo in cui questa nave è governata dipende dal "tiermastro". Docker containerizza un'applicazione per l'esecuzione come una singola unità isolata.

Proprio come un quartiermastro è responsabile di tenere d'occhio la navigazione, il governo e i segnali su una nave, Docker è responsabile della gestione efficiente dei container in esecuzione su un sistema informatico.

Tieni presente che questi contenitori eseguono singole applicazioni all'interno dei propri ambienti isolati basati su sistema operativo come macchine virtuali o server fisici.

Più contenitori possono essere eseguiti su una singola macchina virtuale o server. Puoi pensare a queste macchine virtuali o server rappresentati come navi.

Come puoi ora visualizzare Kubernetes sulla stessa linea? Pensa a più navi ora.

Ognuna di queste navi trasporta più container. Kubernetes orchestra più macchine virtuali o nodi per l'esecuzione in completa sincronizzazione tra loro.

Sebbene il termine Kubernetes significhi timoniere o pilota di una nave, la nostra analogia sarebbe meglio compresa se mettiamo in relazione quel termine con un "capitano di porto".

Proprio come un capitano di porto riesce a "orchestrare" una moltitudine di navi in ​​arrivo o in partenza da un porto, Kubernetes fa la stessa cosa ma con più macchine virtuali che gestiscono vari container. Se esiste una sola nave (sistema), puoi comunque utilizzare la stessa analogia per più container.

Puoi ancora continuare a usare la parola "performance". Ma invece delle esibizioni musicali in un'orchestra o in una flotta in un porto, ora hai le prestazioni del sistema su un server.

Spero che ora tu possa visualizzare chiaramente la differenza fondamentale tra containerizzazione e orchestrazione su server fisici.

Sulla base di questa comprensione, concludiamo ora con alcune semplici definizioni per entrambi.

Containerizzazione

La containerizzazione è l'isolamento delle applicazioni per la distribuzione all'interno di singoli ambienti basati su sistema operativo all'interno di macchine virtuali o server fisici, detti anche nodi in generale. Un esempio di tale strumento di containerizzazione è Docker.

Orchestrazione

L'orchestrazione è il metodo per sincronizzare più contenitori in esecuzione su più nodi e anche i nodi stessi. Questi nodi possono essere macchine virtuali o server fisici. Un esempio di tale strumento di orchestrazione è Kubernetes.

Tieni presente che Kubernetes è in grado di eseguire anche la containerizzazione, proprio come Docker Swarm può eseguire l'orchestrazione.

Spero che questo articolo ti sia utile e ora puoi distinguere tra i due concetti attraverso l'analogia descritta. Se desideri condividere feedback, suggerimenti o commenti, utilizza la sezione sottostante.


Linux
  1. Differenza tra shell di accesso e shell non di accesso?

  2. La differenza tra [[ $a ==Z* ]] e [ $a ==Z* ]?

  3. Differenza tra utente Sudo e utente root?

  4. Differenza tra Snat e Masquerade?

  5. Differenza tra CLOCK_REALTIME e CLOCK_MONOTONIC?

Differenza tra apt e apt-get spiegato

Differenza tra tubazioni ed espansione dei comandi?

La differenza tra Nss e Pam?

differenza tra netstat e ss in linux?

Differenza tra ${} e $() in Bash

differenza tra cgroup e namespace