Docker Swarm, známy aj ako motor Docker v rojovom režime, je nový nástroj na vytváranie klastrov a orchestráciu pre kontajnery Docker, ktoré sa používajú na správu skupiny hostiteľov Docker..


V tomto článku predstavujeme Docker v Docker 1.12. Umožňuje pridanie a odčítanie kontajnera vo výpočtovom procese. Docker Swarm má dve hlavné zložky:

Uzol manažéra: Zaoberá sa riadením úloh klastra, ako sú plánovacie služby, udržiavanie stavu klastrov a obsluha koncových bodov režimu rojenia doku..

Uzol pracovníka: Používa sa na vykonanie klastra kontajnera.

V tomto návode sa dostaneme k podrobnostiam o inštalácii a konfigurácii Docker Swarm Mode na CentOS 7. V tomto článku použijeme tri CentOS 7 na inštaláciu a spustenie dokovacieho motora. Z nich budú dva servery fungovať ako Worker node alebo Docker Engine a zvyšný bude manažér

predpoklady

V takom prípade budeme potrebovať:

  • Lokálny stroj nainštalovaný s Dockerom. Stroj môže bežať na Windows, Linux alebo MacOS.
  • Plne nainštalované tri servery s CentOS 7. Jeden server bude uzlom manažéra, zatiaľ čo ostatné dva servery budú uzlom Worker.
  • Použijeme nasledujúcu adresu IP: 172.168.0.101 pre Manager Node, 172.168.0.102 pre Worker node1 a 172.168.0.103 pre Worker node2.

Pozrite sa na tieto top 3 služby VPS:

Hosting A2

Vyvolávacia cena:
$ 5.00


Spoľahlivosť
9.3


stanovenie ceny
9.0


Užívatelsky prívetivý
9.3


podpora
9.3


Vlastnosti
9.3

Prečítajte si recenzie

Navštívte A2 Hosting

ScalaHosting

Vyvolávacia cena:
$ 12.00


Spoľahlivosť
9.4


stanovenie ceny
9.5


Užívatelsky prívetivý
9.5


podpora
9.5


Vlastnosti
9.4

Prečítajte si recenzie

Navštívte ScalaHosting

Hostinger

Vyvolávacia cena:
$ 3,95


Spoľahlivosť
9.3


stanovenie ceny
9.3


Užívatelsky prívetivý
9.4


podpora
9.4


Vlastnosti
9.2

Prečítajte si recenzie

Navštívte Hostinger

Prihláste sa na https://ecs.console.aliyun.com/?spm=a3c0i.o25424en.a3.13.388d499ep38szx a vyberte CentOS 7. Po prihlásení spustite príkaz uvedený nižšie, aby ste sa uistili, že systém je aktualizovaný pomocou najnovšie dostupné balíčky:

yum update -y

Začať

Pred začatím procesu skontrolujte, či ste na každom uzle nakonfigurovali súbor / etc / hosts, aby bolo ľahšie vzájomne komunikovať pomocou názvov hostiteľov..

Pomocou príkazu nižšie aktualizujte hostiteľský súbor:

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 súbor.

Teraz nakonfigurujte názov hostiteľa každého uzla v závislosti od súboru hosts.

Spustite príkaz uvedený nižšie pre každý uzol.

Uzol správcu:

hostnamectl set-hostname managernode

Pracovný uzol 1:

hostnamectl set-hostname workernode1

Pracovný uzol 2:

hostnamectl set-hostname workernode2

Krok 1: Inštalácia dokovacieho motora

Teraz nainštalujte verziu Docker na každý uzol. Nastavte systém archívov doku a spustite príkaz uvedený nižšie na všetkých názvoch hostiteľov.

To isté urobte pre dva servery uzlov Worker.

Krok 2: Konfigurácia brány firewall v každom uzle

Ďalším krokom je otvorenie portov na bráne firewall, aby ste sa uistili, že klaster rojov správne funguje.

Pokračujte a spustite príkaz uvedený nižšie na všetkých uzloch:

Reštartujte službu doku:

Otvorte porty brány firewall nižšie na každom pracovnom uzle a potom reštartujte službu ukotvenia:

Krok 3: Spustite roj alebo klaster

Inicializoval roj na vašom uzle Manager. Ak to chcete urobiť, spustite príkaz uvedený nižšie.

iniciátor roju dock – advertise-addr 192.168.0.101

Nezabudnite vidieť výstup nižšie:

Token, ktorý je generovaný vyššie uvedeným výstupom, pomáha spojiť sa s uzlom správcu a pracovnými uzlami

Overte stav manažéra pomocou nasledujúceho príkazu:

informácie o doku

Výstup by mal vyzerať takto:

Nádoby: 0
Beh: 0
Pozastavené: 0
Zastavené: 0
Obrázky: 0
Verzia servera: 17.12.0-ce
Ovládač úložiska: devicemapper
Názov skupiny: docker-253: 0-618740-pool
Bloková veľkosť fondu: 65,54 kB
Veľkosť základného zariadenia: 10,74 GB
Podporný súborový systém: xfs
Podporovaná synchronizácia Udev: true
Dátový súbor: / dev / loop0
Súbor metadát: / dev / loop1
Súbor dátovej slučky: / var / lib / docker / devicemapper / devicemapper / data
Súbor metadátových slučiek: / var / lib / docker / devicemapper / devicemapper / metadata
Využitý dátový priestor: 11,8 MB
Údajový priestor celkom: 107,4 GB
Dostupný dátový priestor: 3,817 GB
Využité metadáta: 581,6kB
Priestor metadát celkom: 2,147 GB
Dostupné metadáta: 2,147 GB
Minimálny voľný priestor pre tenký bazén: 10,74 GB
Odložené odstránenie povolené: true
Odložené odstránenie povolené: true
Počet odložených odstránených zariadení: 0
Verzia knižnice: 1.02.140-RHEL7 (2017-05-03)
Ovládač protokolovania: súbor json
Ovládač Cgroup: cgroupfs
pluginy:
Objem: miestny
Sieť: prekrytie null krytom hostiteľa macvlan
Protokol: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Roj: aktívny
NodeID: viwovkb0bk0kxlk98r78apopo
Je manažér: pravda
ClusterID: ttauawqrc8mmd0feluhcr1b0d
Manažéri: 1
Uzly: 1
Orchestration:
Limit uchovávania histórie úloh: 5
raft:
Interval snímok: 10 000
Počet starých snímok, ktoré sa majú zachovať: 0
Heartbeat Tick: 1
Voľba Tick: 3
dispečer:
Obdobie srdcového rytmu: 5 sekúnd
Konfigurácia CA:
Doba platnosti: 3 mesiace
Force Rotate: 0
Správcovia automatického blokovania: nepravdivé
Prebieha rotácia koreňov: nepravdivá
Adresa uzla: 192.168.0.102
Adresy manažérov:
192.168.0.102:2377
Runtimes: runc
Predvolená doba behu: runc
Init Binary: docker-init
verzia kontajnera: 89623f28b87a6004d4b785663257362d1658a729
runc verzia: b2567b37d7b75eb4cf325b77297b140ea686ce8f
init verzia: 949e6fa
Možnosti zabezpečenia:
Seccomp
Profil: predvolené
Verzia jadra: 3.10.0-693.11.1.el7.x86_64
Operačný systém: CentOS Linux 7 (Core)
OSType: linux
Architektúra: x86_64
CPU: 1
Celková pamäť: 1,102GiB
Názov: centOS-7
ID: DN4N: BHHJ: 6DJ7: SZPG: FJJC: XP6T: 23R4: CESK: E5PO: SJ6B: BOST: HZQ5
Docker Root Dir: / var / lib / docker
Režim ladenia (klient): nepravdivý
Režim ladenia (server): false
Register: https://index.docker.io/v1/
štítky:
Experimentálne: nepravdivé
Nezabezpečené registre:
127.0.0.0/8
Live Restore Enabled: false

Mali by ste vidieť celý zoznam uzlov nachádzajúcich sa vo vašom klastri pomocou nasledujúceho príkazu:

dokovací uzol ls

Výstup by mal byť takýto:

Krok 4: Pridajte uzly Worker do uzla Manager

Pomocou príkazu nižšie pridajte uzly Worker do dokovacej rojovej služby:

pristátie roja doku sa pripojí –token SWMTKN-1
3793hvb71g0a6ubkgq8zgk9w99hlusajtmj5aqr3n2wrhzzf8z-1s38lymnir13hhso1qxt5pqru 192.168.0.101:2377

Výstup by mal byť:

Ak chcete skontrolovať stav uzlov, spustite nasledujúci príkaz:

dokovací uzol ls

Ak je proces úspešný, mali by ste dostať výstup uvedený nižšie:

V prípade, že chcete načítať stratený token spojenia, spustite príkaz uvedený nižšie:

správca tokenov join-token doq

Dovtedy by mal rojový mostík úspešne fungovať s dvoma pracovnými uzlami.

Krok 5: Nastavte službu v rojovom režime

Teraz spustite službu v rojovom režime. V tomto prípade spustíme webovú službu v Docker Swarm Mode pomocou troch kontajnerov.

Nižšie uvedený príkaz spustite iba z aplikácie Docker Manager:

vytvorenie dokovacej služby -p 80:80 – meno webservice –replicas 3 httpd

Výstup by mal vyzerať takto:

Ak chcete skontrolovať stav svojej služby, spustite nasledujúci príkaz:

dokovacia služba ls

Výstup bude:

S vyššie uvedeným výstupom sú kontajnery úspešne nasadené vo všetkých uzloch klastra. Teraz je ľahšie prihlásiť sa na webovú stránku z ľubovoľného uzla pomocou nasledujúcich adries webového prehľadávača.

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

Krok 6: Testovanie samočinného hojenia kontajnera

Docker Swarm Mode obsahuje jedinečné vlastnosti, ako je samoliečenie kontajnerov. V prípade, že kontajner nefunguje, manažér zabezpečí, aby sa kontajnery automaticky reštartovali v danom uzle.

Ak chcete otestovať, či proces funguje, odstráňte z workernode2 kontajner a zistite, či sa nový kontajner spustí alebo nie..

Spustite príkaz uvedený nižšie a zobrazte ID kontajnera na Workernode2:

docker ps

Výstup by mal byť takýto:

Teraz spustite príkaz uvedený nižšie a odstráňte kontajner 9b01b0a55cb7:

dokovací rm 9b01b0a55cb7 -f

Teraz skontrolujte, či je z uzla Manager nasadený nový kontajner:

webová služba pre služby doku

Teraz si môžete uvedomiť, že jeden kontajner zlyhal a okamžite sa na pracovnomode2 spustil ďalší kontajner:

Krok 7: Prispôsobenie prepravných nádob nahor a nadol

V klastri dokov je možné škálovať nádoby nahor a nadol. V takom prípade sa pokúsime zväčšiť objem kontajnerov na 5 pre službu.

[root @ dkmanager ~] # webový server merítka servisnej stupnice = 5
webový server v mierke na 5
[root @ dkmanager ~] #

Pomocou príkazu nižšie znova skontrolujte stav služby.

Skúsme teraz zmenšiť pre túto službu kontajner na 2:

[root @ dkmanager ~] # docker servisná stupnica webserver = 2
webový server s mierkou 2
[root @ dkmanager ~] #

Skontrolujte, či sa proces vykonáva pomocou nasledujúceho príkazu:

Teraz by ste mali mať plne nakonfigurovaný klaster Docker Swarm v systéme CentOS7.

záver

Tam to máte. Takto je ľahké nastaviť Docker Swarm pomocou nového režimu Swarm a Dockerovho motora. Je dôležité si uvedomiť, že po dokončení nastavovania zabezpečte ochranu serverov poskytnutím ďalšej úrovne zabezpečenia. Bezpečnostný prvok s funkciou firewall a monitorovacími funkciami je dobrý začiatok.

Vyskúšajte top 3 špecializované služby hostenia serverov:

Hosting A2

Vyvolávacia cena:
$ 99,59


Spoľahlivosť
9.3


stanovenie ceny
9.0


Užívatelsky prívetivý
9.3


podpora
9.3


Vlastnosti
9.3

Prečítajte si recenzie

Navštívte A2 Hosting

FastComet

Vyvolávacia cena:
$ 139.00


Spoľahlivosť
9.7


stanovenie ceny
9.5


Užívatelsky prívetivý
9.7


podpora
9.7


Vlastnosti
9.6

Prečítajte si recenzie

Navštívte FastComet

Hostwinds

Vyvolávacia cena:
$ 99.00


Spoľahlivosť
9.3


stanovenie ceny
9.2


Užívatelsky prívetivý
9.2


podpora
9.3


Vlastnosti
9.2

Prečítajte si recenzie

Navštívte Hostwinds

Súvisiace články s návodmi

  • Ako nasadiť kontajnery s OpenStack Heat
    expert
  • Ako nainštalovať Django na CentOS 7 VPS alebo na vyhradený server
    stredná
  • Ako nastaviť Docker Swarm Cluster na Ubuntu 16.04 VPS alebo na vyhradenom serveri
    expert
  • Inštalácia & Nakonfigurujte webový server Caddy na serveri CentOS 7 VPS
    stredná
  • Ako nastaviť SSH na serveri Ubuntu 16.04 VPS alebo na vyhradenom serveri
    stredná
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me