Ú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:
Účel | Příkaz |
Vytvoření roje | Docker roj init |
Připojování k roji | pří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žby | ukotvitelná služba odstranit Edu |
Aktualizace služby | aktualizace ukotvitelné služby |
Monitorování stavu uzlu | ukotvitelný 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 -
- Docker Interview Otázky
- Co je Cassandra?
- Otázky týkající se rozhovoru pro mikroúpravy
- Co je Jenkins?