Docker Swarm, známý také jako motor Docker v režimu roje, je nový nástroj pro sdružování a orchestraci kontejnerů Docker používaný ke správě skupiny hostitelů Docker..


V tomto článku představujeme Docker v Docker 1.12. Umožňuje přidávání a odečítání kontejneru ve výpočetním procesu. Docker Swarm má dvě hlavní složky:

Uzel správce: Zabývá se správou klastrových úkolů, jako jsou plánovací služby, udržování stavu klastrů a obsluha koncových bodů režimu ukotvitelného doku..

Uzel pracovníka: Používá se ke spuštění kontejneru clusteru.

V tomto tutoriálu se podrobně seznámíme s instalací a konfigurací Docker Swarm Mode na CentOS 7. V tomto článku použijeme tři CentOS 7 k instalaci a spuštění ukotvitelného motoru. Z nich budou dva servery fungovat jako uzel Worker nebo Docker Engine a zbývající bude správce

Předpoklady

V tomto případě potřebujeme následující:

  • Místní počítač nainstalovaný s Dockerem. Stroj může být spuštěn v systému Windows, Linux nebo MacOS.
  • Plně nainstalovány tři servery s CentOS 7. Jeden server bude uzlem správce, zatímco ostatní dva servery budou uzlem Worker.
  • Použijeme následující adresu IP: 172.168.0.101 pro Manager Node, 172.168.0.102 pro Worker node1 a 172.168.0.103 pro Worker node2.

Podívejte se na tyto top 3 služby VPS:

A2 Hosting

Vyvolávací cena:
5,00 $


Spolehlivost
9.3


Ceny
9,0


Uživatelsky přívětivý
9.3


Podpěra, podpora
9.3


Funkce
9.3

Přečtěte si recenze

Navštivte A2 Hosting

ScalaHosting

Vyvolávací cena:
12,00 $


Spolehlivost
9.4


Ceny
9.5


Uživatelsky přívětivý
9.5


Podpěra, podpora
9.5


Funkce
9.4

Přečtěte si recenze

Navštivte ScalaHosting

Hostinger

Vyvolávací cena:
3,95 $


Spolehlivost
9.3


Ceny
9.3


Uživatelsky přívětivý
9.4


Podpěra, podpora
9.4


Funkce
9.2

Přečtěte si recenze

Navštivte Hostinger

Přihlaste se k https://ecs.console.aliyun.com/?spm=a3c0i.o25424en.a3.13.388d499ep38szx a vyberte CentOS 7. Po přihlášení spusťte níže uvedený příkaz a ujistěte se, že systém je aktualizován pomocí nejnovější dostupné balíčky:

yum update -y

Začít

Než zahájíte proces, ujistěte se, že v každém uzlu konfigurujete soubor / etc / hosts, aby bylo jednodušší vzájemně komunikovat pomocí hostitelů.

Pomocí následujícího příkazu aktualizujte hostitelský soubor:

172.168.0.101dkmanager.example.com dkmanager

172.168.0.102 workernode1.example.com workernode1

172.168.0.103 workernode2.example.com workernode2

Po dokončení uložte soubor.

Nyní nakonfigurujte název hostitele každého uzlu v závislosti na souboru hosts.

Spusťte příkaz níže pro každý uzel.

Uzel správce:

hostnamectl set-hostname managernode

Pracovní uzel1:

hostnamectl set-hostname workernode1

Pracovní uzel2:

hostnamectl set-hostname workernode2

Krok 1: Instalace Dockerova motoru

Nyní nainstalujte verzi Docker na každém uzlu. Nastavte systém úložiště doků a spusťte příkaz níže na všech názvech hostitelů.

To samé proveďte pro dva servery uzlu Worker.

Krok 2: Konfigurace brány firewall v každém uzlu

Dalším krokem je otevření portů na firewallu, aby se zajistilo, že klastr rojů funguje správně.

Pokračujte a spusťte níže uvedený příkaz na všech uzlech:

Restartujte službu ukotvitelného panelu:

Otevřete porty brány firewall níže v každém pracovním uzlu a restartujte ukotvitelnou službu:

Krok 3: Spusťte Swarm nebo Cluster

Inicializoval roj v uzlu správce. Chcete-li to provést, spusťte příkaz níže.

docker swarm init – advertise-addr 192.168.0.101

Zkontrolujte výstup níže:

Token, který je generován výše uvedeným výstupem, pomáhá spojit se s uzly správce a pracovními uzly

Ověřte stav správce pomocí následujícího příkazu:

informace o doku

Výstup by měl vypadat takto:

Kontejnery: 0
Běh: 0
Pozastaveno: 0
Zastaveno: 0
Obrázky: 0
Verze serveru: 17.12.0-ce
Ovladač úložiště: devicemapper
Název fondu: docker-253: 0-618740-pool
Bloková velikost fondu: 65,54 kB
Základní velikost zařízení: 10,74 GB
Systém zálohování souborů: xfs
Podporovaná událost Udev Sync: true
Datový soubor: / dev / loop0
Soubor metadat: / dev / loop1
Soubor datové smyčky: / var / lib / docker / devicemapper / devicemapper / data
Soubor smyčky metadat: / var / lib / docker / devicemapper / devicemapper / metadata
Využitý datový prostor: 11,8 MB
Datový prostor celkem: 107,4 GB
Dostupný datový prostor: 3,817 GB
Použitá metadata: 581,6kB
Metadata Space Total: 2,147 GB
Dostupné metadata: 2,147 GB
Minimální volný prostor v tenkém bazénu: 10,74 GB
Odložené odstranění povoleno: true
Odložené odstranění povoleno: true
Počet odložených odstraněných zařízení: 0
Verze knihovny: 1.02.140-RHEL7 (2017-05-03)
Ovladač protokolování: soubor json
Ovladač Cgroup: cgroupfs
Pluginy:
Svazek: místní
Síť: překlenutí překryvného makra hostitele macvlan
Protokol: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Roj: aktivní
NodeID: viwovkb0bk0kxlk98r78apopo
Je Manager: true
ClusterID: ttauawqrc8mmd0feluhcr1b0d
Manažeři: 1
Uzly: 1
Orchestrace:
Limit uchování historie úkolů: 5
Vor:
Interval snímání: 10000
Počet starých snímků, které se mají zachovat: 0
Heartbeat Tick: 1
Volební klíště: 3
Odesílatel:
Doba srdeční frekvence: 5 sekund
Konfigurace CA:
Doba platnosti: 3 měsíce
Force Rotate: 0
Autolock Managers: false
Probíhá rotace kořenů: false
Adresa uzlu: 192.168.0.102
Adresa správce:
192.168.0.102:2377
Runtimes: runc
Výchozí runtime: runc
Init Binary: docker-init
verze kontejneru: 89623f28b87a6004d4b785663257362d1658a729
runc verze: b2567b37d7b75eb4cf325b77297b140ea686ce8f
init verze: 949e6fa
Možnosti zabezpečení:
seccomp
Profil: výchozí
Verze jádra: 3.10.0-693.11.1.el7.x86_64
Operační systém: CentOS Linux 7 (Core)
OSType: linux
Architektura: x86_64
CPU: 1
Celková paměť: 1,102GiB
Název: centOS-7
ID: DN4N: BHHJ: 6DJ7: SZPG: FJJC: XP6T: 23R4: CESK: E5PO: SJ6B: BOST: HZQ5
Docker Root Dir: / var / lib / docker
Režim ladění (klient): false
Režim ladění (server): false
Registr: https://index.docker.io/v1/
Štítky:
Experimentální: nepravdivé
Nezabezpečené registry:
127,0,0,0/8
Live Restore Enabled: false

Měli byste vidět celý seznam uzlů přítomných ve vašem clusteru pomocí následujícího příkazu:

ukotvitelný uzel ls

Výstup by měl být následující:

Krok 4: Přidejte uzly Worker do uzlu Manager

Pomocí následujícího příkazu přidejte uzly Worker do dokovací rojové služby:

spojovací roj se připojí –token SWMTKN-1
3793hvb71g0a6ubkgq8zgk9w99hlusajtmj5aqr3n2wrhzzf8z-1s38lymnir13hhso1qxt5pqru 192.168.0.101:2377

Výstup by měl být:

Chcete-li zkontrolovat stav uzlů, spusťte níže uvedený příkaz:

ukotvitelný uzel ls

Pokud je proces úspěšný, měli byste získat výstup zobrazený níže:

V případě, že chcete získat ztracený token spojení, spusťte příkaz níže:

správce ukotvitelného ramene join-token -q

Do této chvíle by měl být režim rázového doku úspěšně spuštěn se dvěma pracovními uzly.

Krok 5: Nastavte službu v režimu roje

Nyní spusťte službu v režimu roje. V tomto případě spustíme webovou službu v Docker Swarm Mode pomocí těchto tří kontejnerů.

Spusťte níže uvedený příkaz pouze z Docker Manager:

vytvořit ukotvitelnou službu -p 80:80 – jméno webservice –replicas 3 httpd

Výstup by měl vypadat takto:

Chcete-li zkontrolovat stav své služby, spusťte níže uvedený příkaz:

ukotvitelná služba ls

Výstup bude:

S výše uvedeným výstupem jsou kontejnery úspěšně nasazeny ve všech uzlech clusteru. Nyní je snazší přihlásit se na webovou stránku z libovolného uzlu pomocí následujících adres webového prohlížeče.

http: // 172.168. 0,101
http: //172.168. 0,102
http: //172.168. 0,103

Krok 6: Testování samočinného léčení kontejneru

Docker Swarm Mode obsahuje jedinečné funkce, jako je samoléčení kontejneru. V případě, že kontejner nefunguje, správce zajistí, aby se kontejnery automaticky restartovaly v daném uzlu.

Chcete-li otestovat, zda proces funguje, odeberte kontejner z workernode2 a zjistěte, zda je nový kontejner spuštěn nebo ne.

Spusťte příkaz níže a zobrazte ID kontejneru na Workernode2:

docker ps

Výstup by měl být následující:

Nyní spusťte příkaz níže a odeberte kontejner 9b01b0a55cb7:

dokovací rm 9b01b0a55cb7 -f

Nyní zkontrolujte, zda je z uzlu Manager nasazen nový kontejner:

webová služba pro ukotvitelnou službu ps

Nyní si můžete uvědomit, že jeden kontejner selhal a okamžitě byl spuštěn další kontejner na workernode2:

Krok 7: Změna měřítka nahoru a dolů pro službu

V Docker Clusteru je možné škálovat nahoru a dolů kontejnery. V takovém případě zkuste pro službu zvětšit kontejnery na 5.

[root @ dkmanager ~] # docker servisní měřítko webserver = 5
webový server v měřítku 5
[root @ dkmanager ~] #

Zkontrolujte stav služby znovu pomocí následujícího příkazu:

Nyní se pokusíme o zmenšení kontejneru na 2 pro službu:

[root @ dkmanager ~] # docker servisní měřítko webserver = 2
webový server s měřítkem 2
[root @ dkmanager ~] #

Zkontrolujte, zda se proces provádí pomocí následujícího příkazu:

Nyní byste měli mít plně nakonfigurovaný cluster Docker Swarm na CentOS7.

Závěr

Tady to máš. Takto je snadné nastavit Docker Swarm pomocí nového režimu Swarm a Dockerova motoru. Je důležité si uvědomit, že po dokončení instalace se ujistěte, že chráníte servery poskytnutím další úrovně zabezpečení. Bezpečnostní funkce s funkcí brány firewall a monitorování je dobrým začátkem.

Podívejte se na top 3 specializované služby hostování serverů:

A2 Hosting

Vyvolávací cena:
99,59 $


Spolehlivost
9.3


Ceny
9,0


Uživatelsky přívětivý
9.3


Podpěra, podpora
9.3


Funkce
9.3

Přečtěte si recenze

Navštivte A2 Hosting

FastComet

Vyvolávací cena:
139,00 $


Spolehlivost
9.7


Ceny
9.5


Uživatelsky přívětivý
9.7


Podpěra, podpora
9.7


Funkce
9.6

Přečtěte si recenze

Navštivte FastComet

Hostwinds

Vyvolávací cena:
99,00 $


Spolehlivost
9.3


Ceny
9.2


Uživatelsky přívětivý
9.2


Podpěra, podpora
9.3


Funkce
9.2

Přečtěte si recenze

Navštivte Hostwinds

Související články s postupy

  • Jak nasadit kontejnery doku pomocí OpenStack Heat
    expert
  • Jak nainstalovat Django na CentOS 7 VPS nebo dedikovaný server
    středně pokročilí
  • Jak nastavit Docker Swarm Cluster na Ubuntu 16.04 VPS nebo dedikovaném serveru
    expert
  • Nainstalujte & Nakonfigurujte webový server Caddy na CentOS 7 VPS
    středně pokročilí
  • Jak nastavit SSH na Ubuntu 16.04 VPS nebo dedikovaném serveru
    středně pokročilí
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me