Tí, ktorí čítate moje články, viete, čo je Docker. A vedeli ste, že Docker môže byť aj v tzv. Swarm móde, ktorý umožní používať Docker podobne ako Kubernetes? Ak nie, tak sa poďme pozrieť, čo to je, a ako si ho nastaviť.
Trocha teórie
Docker je platforma, na ktorej bežia kontajnery. Tieto kontajnery sa skladajú z OS, ktorý je napr. Ubuntu, závislostí služby/aplikácie a samotnej služby alebo aplikácie. Tieto kontajnery (ak nie sú na Kubernetese/Swarm móde) bežia na jednom stroji, čo ich robí náchylným k rôznym katastrofám. Preto väčšina služieb (odteraz budem používať iba pojem služby) nebeží na jednom serveri, ale na viacerých serveroch, čím sa zaisťuje redundancia a to, že služba nevypadne napr. pri blackoute. A tieto servery v drtivej väčšine prípadov spája tzv. dirigent, čo je v produkčnom prostedí Kubernetes (nie len ten, čo má osem písmen medzi K a S). Docker sa v týchto prípadoch výužíva iba pri vývoji a testingu.
Prečo Swarm a nie Kubernetes?
Je viacero dôvodov, prečo používať Swarm mód oproti tomu, prečo ho nepoužívať, ale ja ich tu vymenujem zopár:
- Jednoduchý dizajn
- V Swarm móde existujú iba dve roly: manažér a worker (úradník pre tých, ktorí sa nevyznajú v DevOps-e)
- Podpora Docker Compose
- Keďže Swarm je nastavovaný cez YAML súbory, ktoré sa riadia JSON špecifikáciou Docker Compose (verzie 3.3 a vyššie), tak môžete nasadiť svoje aplikácie v podobnom prostredí, v akom ich testujete. Len rozdiel je v tom že Docker Compose Vám tie priečinky vytvorí, zatiaľ čo Docker Swarm nie.
- (čiastočná) podpora redundantného úložiska
- Swarm je v tomto ohľade podobný s normálnym Dockerom, čo je aj jeho najväčšia slabina. A to preto, lebo Docker nebol pôvodne navhrnutý ako dirigent. Toto sa dá riešiť, napríklad cez súborové systémy, ktoré fungujú ako RAID pre disky na sieti, ako napríklad GlusterFS, NFS alebo Ceph. Ale pointa tohoto bodu je, že na rozdiel od Kubernetesu má možnosť ukladať dáta z kontajnerov na disk.
Inicializácia
Takže, teraz si spravíme rýchly checklist. Budeme potrebovať 3 (virtuálne) počítače, ktoré sú pripojené na sieť a majú nainštalovaný Docker. Ak sme splnili túto požiadavku, tak sa na to môžeme vrhnúť.
- Vyberte si počítač, ktorý bude manažérom a na ňom zadajte tento príkaz:
sudo docker swarm init
. Potom si skopírujte príkaz na prípojenie workerov (to, čo sa začína nadocker swarm join
) - Prepíšte/prilepte príkaz do zvyšných počítačov. Ak vám príkaz vypísal, že sa úspešne pripojil k Swarmu, tak na počítači, kde ste inicializovali Swarm, napíšte
sudo docker node ls
. A keď tam vidíte v kolónke Status Active pri všetkých počítačoch, tak to znamená, že všetko je dobre
Keď toto máme, tak sa poďme vrhnúť na inštaláciu nejakej služby. Ja som si zvolil Swarmpit, čo je vlastne ovládací panel pre Swarm.
Inštalácia Swarmpitu.
Úspešne nainštalovaný Swarmpit |
Choďte na stránku Swarmpitu, tam scrollujte, až kým nenarazíte na Docker príkaz. Ten si skopírujte a prilepte ho do manažéra. Spustite ho, trikrát stlačte Enter a zadajte silné heslo. Počkajte chvíľu, kým sa to spustí, a potom choďte na IP hosťa s portom 888 (ak ste si pri inštalácií nezvolili iný), zadajte tam svoje užívateľské meno a heslo a et voilá, ste v Swarmpite.
Čo teraz?
Teraz je ten správny čas nastaviť Ceph, preniesť Docker Compose súbor na Swarm, poprezerať si Swarmpit, atď atď. Jednoducho, so Swarmom a Dockerom všeobecne, nie je limit. Verím, že sa Vám môj obsiahly článok páčil, a ak áno, tak ho prosím zdieľajte na Mastodon, Reddit, alebo iné sociálne siete, prípadne Vaším kamarátom.
Komentáre
Zverejnenie komentára
- Buďte slušní
- Nevhodné komentáre budú vymazané