GNU/Linux >> Znalost Linux >  >> Linux

Rozdíl mezi kontejnerizací a orchestrací:laický pohled

Kontejnerizace a orchestrace.

S těmito dvěma termíny jste se mohli ve světě DevOps setkat, zvláště pokud jste správce systému.

Existuje již mnoho článků, které se pokoušely vysvětlit rozdíl mezi kontejnerizací a orchestrací, ale většina z nich zaměřuje své srovnání na Docker a Kubernetes.

Než začnete rozlišovat mezi softwarem, je nezbytné nejprve porozumět rozdílu mezi jejich účelem a tím, proč byly vůbec vyvinuty.

V tomto rychlém čtení jsem se tedy pokusil prozkoumat, co vlastně pojmy kontejnerizace a orchestrace znamenají jako základní pojmy pro začátečníky a nováčky.

Jak můžete rozlišit mezi kontejnerizací a orchestrací? Použijme analogii.

Laický pohled na kontejnerizaci a organizaci

Slovo kontejner představuje velký izolovaný kvádr v individuálním prostředí. Tyto kontejnery ukládají náklad a jsou naloženy na loď.

Můžete si to představit jako kontejnery zakotvené na lodi v loděnici.

"Zakotveno", "Dokyard" a "Docker"! Odzvoní těmto výrazům?

Slovo orchestr představuje skupinu hudebníků provádějících hudební notu v dokonalé synchronizaci, s pomocí dirigenta nebo jinak nazývaného koncertní mistr.

Tato dokonale synchronizovaná hudební harmonie je to, čemu říkáte orchestrace.

Nyní, když se na to podíváte z pohledu DevOps a pokusíte se pochopit, jak byla tato myšlenka přijata pro správu aplikací běžících v počítačových systémech, musíte nahradit hudebníky kontejnerovými „loděmi“.

Aplikace, které jsem zde zmínil, jsou velmi srovnatelné s nákladem uloženým v lodním kontejneru.

Software Docker si tedy můžete představit jako loď, která je ukotvena v různých kontejnerech s různými aplikacemi. Jak je tato loď řízena, závisí na "proviantnímu". Docker kontejnerizuje aplikaci tak, aby běžela jako jediná izolovaná jednotka.

Stejně jako je ubytovatel zodpovědný za bedlivé sledování navigace, řízení a signálů na lodi, Docker je zodpovědný za efektivní správu kontejnerů běžících na počítačovém systému.

Všimněte si, že tyto kontejnery spouštějí jednotlivé aplikace ve svých vlastních izolovaných prostředích založených na OS jako virtuální stroje nebo fyzické servery.

Na jednom virtuálním počítači nebo serveru může běžet více kontejnerů. Tyto virtuální stroje nebo servery si můžete představit jako lodě.

Jak můžete nyní vizualizovat Kubernetes na stejných řádcích? Myslete na několik lodí.

Každá z těchto lodí nese několik kontejnerů. Kubernetes organizuje více virtuálních počítačů nebo uzlů, aby běžely v úplné vzájemné synchronizaci.

Ačkoli výraz Kubernetes znamená kormidelník nebo pilot lodi, naše analogie by byla lépe pochopena, kdybychom tento výraz spojili s „přístavním velitelem“.

Jak se veliteli přístavu daří „orchestrovat“ množství lodí připlouvajících nebo opouštějících lodní přístav, Kubernetes dělá totéž, ale s několika virtuálními stroji, které provozují různé kontejnery. Pokud existuje pouze jedna loď (systém), stále můžete použít stejnou analogii pro více kontejnerů.

I nadále můžete používat slovo „výkon“. Ale místo hudebního vystoupení v orchestru nebo vystoupení flotily v přístavu máte nyní systémový výkon na serveru.

Doufám, že si nyní dokážete jasně představit základní rozdíl mezi kontejnerizací a orchestrací na fyzických serverech.

Na základě tohoto porozumění nyní uzavřeme několik jednoduchých definic pro oba.

Kontejnerizace

Kontejnerizace je izolace aplikací pro nasazení uvnitř jednotlivých prostředí založených na OS uvnitř virtuálních strojů nebo fyzických serverů, obecně také označovaných jako uzly. Příkladem takového kontejnerizačního nástroje je Docker.

Orchestrace

Orchestrace je metoda synchronizace více kontejnerů běžících na více uzlech a také samotných uzlů. Těmito uzly mohou být virtuální stroje nebo fyzické servery. Příkladem takového nástroje pro orchestraci je Kubernetes.

Pamatujte, že Kubernetes je také schopen provádět kontejnerizaci, stejně jako Docker Swarm může provádět orchestraci.

Doufám, že vám tento článek bude užitečný a nyní můžete pomocí popsané analogie rozlišovat mezi těmito dvěma pojmy. Pokud se chcete podělit o nějakou zpětnou vazbu, návrh nebo komentář, použijte prosím sekci níže.


Linux
  1. Rozdíl mezi přihlašovacím prostředím a nepřihlašovacím prostředím?

  2. Rozdíl mezi 2>&-, 2>/dev/null, |&, &>/dev/null A>/dev/null 2>&1?

  3. Jaký je rozdíl mezi Sudo Su – a Sudo Su –?

  1. Rozdíl mezi Eot a Eof?

  2. Rozdíl mezi Gtk a Qt aplikacemi?

  3. Rozdíl mezi uživatelem Sudo a uživatelem root?

  1. Rozdíl mezi Snat a Masquerade?

  2. Rozdíl mezi Nss a Pam?

  3. Rozdíl mezi CLOCK_REALTIME a CLOCK_MONOTONIC?