Ang Docker Swarm, na kilala rin bilang Docker engine sa swarm mode ay isang bagong clustering at orchestration tool para sa mga lalagyan ng Docker na ginamit upang pamahalaan ang isang pangkat ng mga host ng Docker.


Sa artikulong ito, ipinakita namin ang Docker sa Docker 1.12. Pinapayagan nito ang karagdagan at pagbabawas ng lalagyan sa proseso ng computing. Mayroong dalawang pangunahing sangkap ng Docker Swarm:

Manager Node: Ang mga pakikitungo sa pamamahala ng gawain ng kumpol tulad ng mga serbisyo sa pag-iskedyul, pagpapanatili ng estado ng mga kumpol, at paghahatid ng mga pagtatapos ng mode ng docker swarm.

Node ng Manggagawa: Ginamit upang isagawa ang lalagyan ng kumpol.

Sa tutorial na ito, makakakuha kami ng mga detalye sa pag-install at pag-configure ng Docker Swarm Mode sa CentOS 7. Para sa artikulong ito, gagamit kami ng tatlong CentOS 7 upang mai-install at ilunsad ang docker engine. Sa labas ng mga ito, dalawang server ang kikilos bilang Worker node o Docker Engine at ang natitirang isa ay magiging isang manager

Paunang kinakailangan

Sa kasong ito, kakailanganin namin ang sumusunod:

  • Ang isang lokal na makina na naka-install kasama ang Docker. Ang makina ay maaaring tumatakbo sa Windows, Linux, o macOS.
  • Tatlong server na may ganap na naka-install na CentOS 7. Ang isang server ay ang Manager node habang ang iba pang dalawang server ay ang Worker node.
  • Gagamitin namin ang sumusunod na IP address: 172.168.0.101 para sa Manager Node, 172.168.0.102 para sa Worker node1 at 172.168.0.103 para sa Worker node2.

Suriin ang mga nangungunang 3 serbisyo ng VPS:

A2 Hosting

Panimulang presyo:
$ 5.00


Kahusayan
9.3


Pagpepresyo
9.0


Friendly ng Gumagamit
9.3


Suporta
9.3


Mga Tampok
9.3

Basahin ang mga review

Bisitahin ang A2 Hosting

ScalaHosting

Panimulang presyo:
$ 12.00


Kahusayan
9.4


Pagpepresyo
9.5


Friendly ng Gumagamit
9.5


Suporta
9.5


Mga Tampok
9.4

Basahin ang mga review

Bisitahin ang ScalaHosting

Hostinger

Panimulang presyo:
$ 3.95


Kahusayan
9.3


Pagpepresyo
9.3


Friendly ng Gumagamit
9.4


Suporta
9.4


Mga Tampok
9.2

Basahin ang mga review

Bisitahin ang Hostinger

Mag-sign in sa https://ecs.console.aliyun.com/?spm=a3c0i.o25424en.a3.13.388d499ep38szx at pumili ng CentOS 7. Kapag naka-log in ka, patakbuhin ang utos sa ibaba upang matiyak na ma-update ang system sa pinakabagong mga magagamit na mga pakete:

yum update -y

Magsimula

Bago mo simulan ang proseso, siguraduhing na-configure mo / atbp / host ang file sa bawat node upang mas madali itong makipag-usap sa bawat isa gamit ang mga hostnames.

Gamitin ang utos sa ibaba upang i-update ang file ng host:

172.168.0.101dkmanager.example.com dkmanager

172.168.0.102 workernode1.example.com workernode1

172.168.0.103 workernode2.example.com workernode2

I-save ang file sa sandaling natapos mo na.

Ngayon ay i-configure ang hostname ng bawat node depende sa host file.

Patakbuhin ang utos sa ibaba para sa bawat node.

Node ng manager:

hostnamectl set-hostname managernode

Node1 ng manggagawa:

hostnamectl set-hostname workernode1

Node2 ng manggagawa:

hostnamectl set-hostname workernode2

Hakbang 1: Pag-install ng Docker Engine

Ngayon, i-install ang bersyon ng Docker sa bawat node. Itakda ang sistema ng imbakan ng pantalan at patakbuhin ang utos sa ibaba sa lahat ng mga hostnames.

Gawin ang parehong para sa dalawang server ng nanggagawa ng Worker.

Hakbang 2: Pag-configure ng Firewall sa bawat Node

Ang susunod na hakbang ay upang buksan ang mga port sa firewall upang matiyak na ang kumpol na mga kumpol ay gumagana nang tama.

Ipagpatuloy at patakbuhin ang utos sa ibaba sa lahat ng mga node:

I-restart ang serbisyo ng docker:

Buksan ang mga port ng firewall sa ibaba sa bawat node ng manggagawa pagkatapos ay i-restart ang serbisyo ng docker:

Hakbang 3: Ilunsad ang Pakpak o Cluster

Initialize ang umakyat sa iyong node ng Manager. Upang gawin ito, patakbuhin ang utos sa ibaba.

docker swarm init –advertise-addr 192.168.0.101

Tiyaking nakikita mo ang output sa ibaba:

Ang token na nabuo ng output sa itaas ay tumutulong upang sumali sa manager node at mga node ng manggagawa

Patunayan ang katayuan ng tagapamahala gamit ang utos sa ibaba:

impormasyon ng docker

Ang output ay dapat magmukhang ganito:

Mga lalagyan: 0
Pagpapatakbo: 0
Pause: 0
Tumigil: 0
Mga Larawan: 0
Bersyon ng Server: 17.12.0-ce
Pagmamaneho ng Imbakan: devicemapper
Pangalan ng Pool: docker-253: 0-618740-pool
Ang Blocksize ng Pool: 65.54kB
Laki ng Device ng Base: 10.74GB
Pag-back Filesystem: xfs
Sinuportahan ang Udev Sync: totoo
Data file: / dev / loop0
Metadata file: / dev / loop1
Data loop file: / var / lib / docker / devicemapper / devicemapper / data
Metadata loop file: / var / lib / docker / devicemapper / devicemapper / metadata
Ginagamit ang Space ng Data: 11.8MB
Kabuuan ng Space ng Data: 107.4GB
Magagamit ang Space ng Data: 3.817GB
Ginagamit na Metadata Space: 581.6kB
Kabuuan ng Metadata Kabuuan: 2.147GB
Magagamit na Metadata Space: 2.147GB
Manipis na Pool Minimum na Libreng Space: 10.74GB
Pinapagana ang Pag-alis ng Pag-alis: totoo
Pinapagana ang Pag-tinanggal na Pag-tinanggal: totoo
Ipinagpaliban Tinanggal na Bilang ng aparato: 0
Bersyon ng Library: 1.02.140-RHEL7 (2017-05-03)
Pag-log sa driver: json-file
Cgroup Driver: cgroupfs
Mga plugin:
Dami: lokal
Network: tulay host macvlan null overlay
Mag-log: awslogs fluentd gcplogs gelf journalald json-file logentries splunk syslog
Swarm: aktibo
NodeID: viwovkb0bk0kxlk98r78apopo
Ay Manager: totoo
ClusterID: ttauawqrc8mmd0feluhcr1b0d
Mga Tagapamahala: 1
Mga Numero: 1
Orkestasyon:
Limitasyon sa Pagpapanatili ng Kasaysayan ng Gawain: 5
Raft:
Pagitan ng Snapshot: 10000
Bilang ng Lumang Snapshot upang mapanatili: 0
Tiyak sa Puso: 1
Titik sa Halalan: 3
Dispatcher:
Panahon ng tibok ng puso: 5 segundo
Pag-configure ng CA:
Tagal ng Pag-expire: 3 buwan
Force Pihitin: 0
Mga Tagapamahala ng Autolock: hindi totoo
Pag-ikot ng Root Sa Pag-unlad: maling
Address ng Node: 192.168.0.102
Mga Address ng Tagapamahala:
192.168.0.102:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
bersyon ng containerd: 89623f28b87a6004d4b785663257362d1658a729
runc bersyon: b2567b37d7b75eb4cf325b77297b140ea686ce8f
bersyon ng init: 949e6fa
Mga opsyon sa seguridad:
seccomp
Profile: default
Bersyon ng Kernel: 3.10.0-693.11.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Arkitektura: x86_64
Mga CPU: 1
Kabuuan ng Pag-alaala: 1.102GiB
Pangalan: centOS-7
ID: DN4N: BHHJ: 6DJ7: SZPG: FJJC: XP6T: 23R4: CESK: E5PO: SJ6B: BOST: HZQ5
Docker Root Dir: / var / lib / docker
Debug Mode (client): hindi totoo
Debug Mode (server): hindi totoo
Registry: https://index.docker.io/v1/
Mga label:
Eksperimental: maling
Mga rehistro ng Di-secure na:
127.0.0.0/8
Live Ibalik ang Pinapagana: hindi totoo

Dapat mong makita ang buong listahan ng mga node na naroroon sa iyong kumpol gamit ang utos sa ibaba:

docker node ls

Ang output ay dapat na katulad nito:

Hakbang 4: Magdagdag ng mga node ng Manggagawa sa node ng Manager

Idagdag ang mga node ng Trabaho sa docker swarm service na may utos sa ibaba:

sumali ang mga pantay na pantulog –token SWMTKN-1
3793hvb71g0a6ubkgq8zgk9w99hlusajtmj5aqr3n2wrhzzf8z-1s38lymnir13hhso1qxt5pqru 192.168.0.101:2377

Ang output ay dapat na:

Upang suriin ang katayuan ng mga node, patakbuhin ang utos sa ibaba:

docker node ls

Kung ang proseso ay matagumpay, dapat mong makuha ang output na ipinakita sa ibaba:

Sa kaso, nais mong makuha ang isang nawala na token na sumali, patakbuhin ang utos sa ibaba:

docker swarm sumali-token manager -q

Sa ngayon, ang mode ng pagsakay sa pantalan ay dapat na matagumpay na tumatakbo sa dalawang node ng manggagawa.

Hakbang 5: I-set up ang Serbisyo sa mode ng Pakomboy

Ngayon ilunsad ang serbisyo sa Swarm Mode. Sa kasong ito, ilulunsad namin ang isang serbisyo sa web sa Docker Swarm Mode gamit ang tatlong lalagyan.

Patakbuhin ang utos sa ibaba mula sa Docker Manager lamang:

lumikha ng serbisyo ng docker -p 80:80 –name webservice –replicas 3 httpd

Ang output ay dapat magmukhang ganito:

Upang suriin ang katayuan ng iyong serbisyo, patakbuhin ang utos sa ibaba:

serbisyo ng docker ls

Ang output ay:

Gamit ang output sa itaas, ang mga lalagyan ay matagumpay na na-deploy sa buong cluster node. Ngayon, mas madaling mag-log in sa web page mula sa anumang node gamit ang sumusunod na mga web browser address.

http: // 172.168. 0.101
http: //172.168. 0.102
http: //172.168. 0.103

Hakbang 6: Pagsubok ng lalagyan ng Pagpapagaling sa Sarili

Ang Docker Swarm Mode ay naglalaman ng mga natatanging tampok tulad ng paglalagay ng self-healing. Kung sakaling ang isang lalagyan ay nabigo upang gumana, tiyakin ng manager na awtomatikong muling i-restart ang mga lalagyan sa partikular na node.

Upang subukan kung gumagana ang proseso, alisin ang isang lalagyan sa workernode2 at alamin kung ang isang bagong lalagyan ay inilunsad o hindi.

Patakbuhin ang utos sa ibaba upang ilista ang container ID sa Workernode2:

docker ps

Ang output ay dapat na katulad nito:

Ngayon, patakbuhin ang utos sa ibaba upang alisin ang lalagyan 9b01b0a55cb7:

docker rm 9b01b0a55cb7 -f

Ngayon suriin kung ang isang bagong lalagyan ay na-deploy mula sa Manager node:

docker service ps webservice

Sa ngayon, maaari mong mapagtanto na ang isang lalagyan ay nabigo at kaagad, ang isa pang lalagyan ay nagsimula sa workernode2:

Hakbang 7: Pagsukat ng pataas at pababang mga lalagyan para sa serbisyo

Sa Docker Cluster, posible na mag-scale up at down na mga lalagyan. Sa kasong ito, subukang suriin ang mga lalagyan sa 5 para sa serbisyo.

[root @ dkmanager ~] # docker scale scale service webserver = 5
webserver naka-scale sa 5
[ugat @ dkmanager ~] #

Suriin muli ang katayuan ng serbisyo gamit ang utos sa ibaba:

Ngayon, subukang suriin ang lalagyan sa 2 para sa serbisyo:

[root @ dkmanager ~] # docker scale scale service webserver = 2
webserver naka-scale sa 2
[ugat @ dkmanager ~] #

Suriin upang makita ang proseso ay ginagawa gamit ang utos sa ibaba:

Ngayon, dapat kang magkaroon ng isang ganap na na-configure na kumpol ng Docker Swarm sa CentOS7.

Konklusyon

Ayan. Iyon ay kung gaano kadali ang pag-setup ng Docker Swarm sa tulong ng bagong mode ng Swarm at Docker. Mahalagang tandaan na matapos ang pag-setup, tiyaking protektahan mo ang mga server sa pamamagitan ng pagbibigay ng karagdagang layer ng seguridad. Ang isang tampok na seguridad na may firewall at mga kakayahan sa pagsubaybay ay isang mahusay na pagsisimula.

Tingnan ang nangungunang 3 Mga nakalaang serbisyo sa pagho-host ng server:

A2 Hosting

Panimulang presyo:
$ 99.59


Kahusayan
9.3


Pagpepresyo
9.0


Friendly ng Gumagamit
9.3


Suporta
9.3


Mga Tampok
9.3

Basahin ang mga review

Bisitahin ang A2 Hosting

FastComet

Panimulang presyo:
$ 139.00


Kahusayan
9.7


Pagpepresyo
9.5


Friendly ng Gumagamit
9.7


Suporta
9.7


Mga Tampok
9.6

Basahin ang mga review

Bisitahin ang FastComet

Mga Hostwinds

Panimulang presyo:
$ 99.00


Kahusayan
9.3


Pagpepresyo
9.2


Friendly ng Gumagamit
9.2


Suporta
9.3


Mga Tampok
9.2

Basahin ang mga review

Bisitahin ang Hostwinds

Kaugnay na Mga Artikulo Paano-Sa

  • Paano Itataguyod ang Mga lalagyan ng pantalan gamit ang OpenStack Heat
    dalubhasa
  • Paano i-install ang Django sa isang CentOS 7 VPS o Dedicated Server
    nasa pagitan
  • Paano Mag-set up ng isang Docker Swarm Cluster sa Ubuntu 16.04 VPS o Dedicated Server
    dalubhasa
  • I-install & I-configure ang Caddy web server sa isang CentOS 7 VPS
    nasa pagitan
  • Paano Mag-set up ng SSH sa isang Ubuntu 16.04 VPS o Dedicated Server
    nasa pagitan
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me