Úvod do Docker Swarm / Definition

Dokovací roj je jedním z nástrojů dostupných v kontejnerech Docker, které jsou platformou / nástrojem pro správu kontejnerů s otevřeným zdrojovým kódem. Nazývá se také nástroj nativního klastrování a plánování v Dockeru. Když se velikost kontejnerů zvětšuje, je velmi obtížné spravovat vše tam, kam přichází role Swarm. Pomáhá vývojářům a správcům spravovat a vytvářet klastr uzlů Docker ve formě jediného virtuálního stroj.

Koncepty / klíčové termíny používané pro Docker Swarm

  • Swarm - Swarm se skládá z mnoha systémů / hostitelů Docker, které běží v režimu roje.
  • Swarmkit - Swarmkit se používá k implementaci vrstvy Dockerovy orchestrace.
  • Úloha - Úloha se skládá z příkazů a kontejneru, který by měl být spuštěn uvnitř kontejneru. Úkoly distribuuje správce rojů do uzlů.
  • Uzly - uzel lze definovat jako jedinečný dokovací stroj, který se účastní roje. Dobré rozmístění výrobního roje je takové, které má distribuované uzlové základny rozložené na mnoha strojích.
  • Služba - Kdykoli je služba vytvořena, určuje kontejner, který by měl být použit, a příkazy, které by měly být spuštěny uvnitř kontejneru. Služba je tedy seznam úkolů, které by měly být provedeny na uzlu pracovníka nebo správce.
  • Uzly správce - Úkolem uzlů správce je odesílání úkolů do pracovních uzlů. Uzly správce jsou také zodpovědné za provádění dalších funkcí, jako je správa klastru a orchestrace.
  • Pracovní uzly - Úkolem pracovního uzlu je zadávat úkoly, které přicházejí z uzlu správce, a spouštět je. Pracovní uzel je nainstalován s agenty, kteří hlásí jednotky práce, které jsou mu přiřazeny, do uzlů správce.
  • Uzly vůdce - slouží jako vůdce k provádění úkolů souvisejících s orchestrací.

Co lze udělat pomocí Docker Swarm

Swarm je velmi užitečný pro administrátory a vývojáře v ekosystému Docker. Níže jsou uvedeny některé z úkolů, které může dokař dosáhnout:

  • Může být použit k měřítku počtu kontejnerů.
  • Pro stanovení koordinace mezi kontejnery.
  • Pro přiřazení úkolů do shluku kontejnerů.
  • Pro správu životního cyklu kontejnerů a také pro provádění pravidelných zdravotních kontrol.
  • Slouží k zavedení aktualizací softwaru mezi kontejnery.

Pochopení Docker Swarm / Working

Níže je uvedeno fungování dokovacího roje, které jsou následující:

Práce s uzly

Jak jsme viděli, existují dva typy uzlů, tj. Správce a pracovník. Podívejme se na fungování obou.

Úkoly, které obsluhují uzly správce, jsou: Plánování služeb, údržba stavu klastru a také plnění koncových bodů HTTP API. Je vhodné spustit více uzlů správce, protože vám to pomůže využít výhod odolnosti vůči rojům.

Uzly pracovníka spouští kontejnery a pro správnou funkci vyžadují minimálně 1 uzel správce.

Práce se službami

Jediným účelem služeb je nasazení obrazu aplikace na roj Docker. Příkladem služeb jsou například server DB, webový server a servery HTTP.

Procesy a podmínky v provozu:

  • Úpadek úlohy - Kdykoli úloha selže uvnitř doku roj, obvykle není restartována. Úkolem orchestrátora je tedy odstranit tuto neúspěšnou úlohu a nahradit ji novou, která odpovídá stavu služby.
  • Možnost služby - Kdykoli je služba vytvořena, můžeme vždy definovat port, na kterém lze službu použít (pro externí uživatele), lze použít limity paměti a CPU, definovat zásady aktualizace atd.
  • Nevyřízená služba - Služba přejde do čekajícího stavu, když v ukotvitelném roji nejsou aktuálně k dispozici žádné uzly pro spuštění úlohy.

Docker Swarm Filters

Ukotvitelný roj má 5 filtrů:

  • Afinita - Účelem afinitního filtru je zajistit, aby kontejnery fungovaly na stejném síťovém uzlu a také definuje posloupnost, ve které by kontejnery měly provádět.
  • Port - Port definuje vyhrazený prostředek. Když na portu, který není volný, běží kontejner, přesune se do ostatních dostupných uzlů.
  • Omezení - Když je vytvořen uzel, můžeme přiřadit páry klíč - hodnota pomocí filtru omezení.
  • Závislost - Kdykoli existuje závislost mezi kontejnery, filtry závislostí naplánují ty, které jsou na stejném uzlu.
  • Zdraví - Pokud některý z uzlů nefunguje a nefunguje, tento filtr na něm nepřiradí žádné kontejnery.

Některé příkazy pro roj Docker:

ÚčelPříkaz
Vytvoření rojeDocker roj init
Připojování k rojipřístavní roj připojit \

–Token Token_number \

IP: Port

Vytvoření služby a pojmenovánívytvořit ukotvitelnou službu - jméno Edu
Odebrání službyukotvitelná služba odstranit Edu
Aktualizace službyaktualizace ukotvitelné služby
Monitorování stavu uzluukotvitelný uzel ls

Výhody a nevýhody

Podívejme se nyní na výhody a nevýhody dokařského roje

Výhody:

  • Nasazení je snadné a režim roj je standardně dodáván s Docker Engine.
  • Instalace je snadná a rychlá.
  • Integraci rojů lze snadno dosáhnout pomocí Docker CLI a Docker compose
  • Není třeba mnoho zkušeností a učení je snadné.

Nevýhody:

  • Aby bylo možné škálovat služby, je nutný ruční zásah.
  • Má omezenou odolnost proti chybám.
  • Od nynějška nejsou k dispozici širší funkce.
  • Má menší komunitu ve srovnání s jinými nástroji orchestrace, jako je Kubernetes.

Závěr

V tomto článku jsme začali se základním přehledem a definicí Dockerova roje a také jsme viděli důležité pojmy používané v rojové technologii, která je součástí ekosystému. Pak jsme se pokusili porozumět práci za Dockerovým rojem a také jsme se naučili několik Dockerových příkazů, které se používají v rojovém režimu.

Doporučené články

Toto byl průvodce Co je Docker Swarm ?. Zde jsme probrali koncept, příkaz, filtry, použití a porozumění Docker Swarm. Další informace naleznete také v našich dalších doporučených článcích -

  1. Docker Interview Otázky
  2. Co je Cassandra?
  3. Otázky týkající se rozhovoru pro mikroúpravy
  4. Co je Jenkins?

Kategorie: