GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a nakonfigurovat režim Docker Swarm na CentOS 7 / RHEL 7

Režim Docker Swarm je nástroj pro orchestraci a shlukování kontejneru pro správu hostitele Docker. Režim Docker Swarm je nativní součástí enginu Docker. To znamená, že nemusíte instalovat nic kromě enginu Docker, protože režim Docker swarm je součástí enginu Docker.

Režim Docker swarm je zaveden v Dockeru 1.12. Některé z klíčových výhod režimu Docker swarm jsou samoopravy kontejnerů , vyrovnávání zátěže , zvětšení kontejneru azmenšit , objevování služeb a průběžné aktualizace . V posledních několika článcích jsme probrali následující témata

  • Jak nainstalovat Docker na CentOS 7
  • Jak vytvářet obrazy kontejnerů Docker pomocí Dockerfile

V tomto článku si projdeme, jak nainstalovat a nakonfigurovat režim Docker Swarm na CentOS 7.x / RHEL 7.x  Pro demonstraci budu používat 3 CentOS 7.x nebo RHEL 7.x Servery, na které nainstaluji docker engine. Z toho dva servery budou fungovat jako Docker Engine nebo Worker node a jeden bude působit jako manažer . V mém případě používám následující:

  • dkmanager.example.com (172.168.10.70 ) – Bude fungovat jako manažer, který bude spravovat Docker engine nebo hostitele nebo pracovní uzel a bude fungovat také jako Docker engine.
  •  workernode1.example.com ( 172.168.10.80 ) – bude fungovat jako Docker engine nebo Worker Node
  • workernode2.example.com (172.168.10.90) – bude fungovat jako Docker engine nebo Worker Node

Aktualizujte následující řádky v souboru /etc/hosts na všech serverech

172.168.10.70    dkmanager.example.com   dkmanager172.168.10.80    workernode1.example.com         workernode1172.168.10.90 2Krok:1 Nainstalujte Docker Engine na všechny hostitele 

Nejprve nastavte úložiště dockeru a poté spusťte příkaz beneath na všech hostitelích.

[[e-mail chráněný] ~]# yum install yum-utils –y[[email protected] ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/ docker-ce.repo[[chráněno e-mailem] ~]# instalace yum docker-ce docker-ce-cli containerd.io –y[[chráněno e-mailem] ~]# systemctl spustit docker[[chráněno e-mailem] ~]# systemctl povolit docker 

Opakujte výše uvedené kroky pro workernode1 a workernode2

Poznámka:V době psaní tohoto článku byl k dispozici Docker verze 1.13.

Krok:2 Otevřete porty brány firewall na uzlech správce a pracovníků

Otevřete následující porty v bráně firewall operačního systému ve správci Docker pomocí níže uvedených  příkazů

[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=2376/tcpsuccess[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=2377/tcpsuccess[ [chráněno e-mailem] ~]# firewall-cmd --permanent --add-port=7946/tcpsuccess[[email protected]ager ~]# firewall-cmd --permanent --add-port=7946/udpsuccess[[email protected ] ~]# firewall-cmd --permanent --add-port=4789/udpsuccess[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=80/tcpsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[e-mail chráněný] ~]#

Restartujte službu docker ve správci docker

[[email protected] ~]# systemctl restart docker

Otevřete následující porty na každém pracovním uzlu a restartujte službu docker

~]# firewall-cmd --permanent --add-port=2376/tcp~]# firewall-cmd --permanent  --add-port=7946/tcp~]# firewall-cmd --permanent -- add-port=7946/udp~]#  firewall-cmd --permanent --add-port=4789/udp~]# firewall-cmd --permanent --add-port=80/tcp~]#  firewall-cmd - -reload~]#  systemctl restart docker

Krok:3 Inicializujte roj nebo cluster pomocí příkazu „docker swarm init“

Spusťte níže uvedený příkaz z manažerského uzlu (dkmanager) pro inicializaci clusteru.

[[email protected] ~]# init swarm docker --advertise-addr 172.168.10.70

Tento příkaz udělá z našeho uzlu manažerský uzel a také inzerujeme IP adresu manažera ve výše uvedeném příkazu, aby se podřízený nebo pracovní uzel mohl připojit ke clusteru.

Spuštěním níže uvedeného příkazu ověřte stav správce a zobrazte seznam uzlů ve vašem clusteru

[[email protected] ~]# docker node lsID                             HOSTNAME                STAV  DOSTUPNOST  SPRÁVCE Active mail  STATUSn64oy.   STATUS n64oy   Přečtení  ma [eximpikcom   

Můžeme také použít „informace o dockeru ” příkaz k ověření stavu roje

Krok:3 Přidejte pracovní uzly do roje nebo seskupení

Chcete-li přidat pracovní uzly do roje nebo klastru, spusťte příkaz, který dostaneme, když inicializujeme roj. Ukázkový příkaz je uveden v kroku 3

[[email protected] ~]# připojení k dockeru swarm --token SWMTKN-1-4jjyu1btmdky0ou6gl2dwgt24bolpsdn5yd77pohmcnmz0s288-11xwcvzjar29fskkhfvlzsmhr se připojilo ~[maile] chráněno před 172.70 172.168. ~Připojit se k # dockeru swarm --token SWMTKN-1-4jjyu1btmdky0ou6gl2dwgt24bolpsdn5yd77pohmcnmz0s288-11xwcvzjar29fskkhfvlzsmhr 172.168.10.70] Tento uživatel se připojil k 172.168.10.70 z 70. války[spr. e-mailem za 237." 

Ověřte stav uzlu pomocí příkazu „docker node ls ” ze správce dockerů

V tomto okamžiku je náš docker swarm mode nebo cluster spuštěn a běží se dvěma pracovními uzly. V dalším kroku uvidíme, jak definovat službu.

Krok:4 Spuštění služby v režimu Docker Swarm

V režimu roje Docker jsou kontejnery nahrazeny slovem úkoly a úkoly (nebo kontejnery) jsou spuštěny a nasazeny jako služba a předpokládejme, že chci vytvořit službu s názvem „webový server“ s pěti kontejnery a chcete se ujistit, že požadovaný stav kontejnerů ve službě je pět.

Níže uvedené příkazy spouštějte pouze ze Správce Docker.

[[e-mail chráněný] ~Vytvoření # služby dockeru -p 80:80 --name webserver --replicas 5 httpd7hqezhyak8jbt8idkkke8wizi[[e-mail chráněný] ~]#

Výše uvedený příkaz vytvoří službu s názvem „webserver“, ve které je požadovaný stav kontejnerů nebo úkolu 5 a kontejnery budou spouštěny z obrázku dockeru „httpd “. Kontejnery budou nasazeny nad uzly clusteru, tj. dkmanager , workernode1 a workernode2

Vypište službu Docker pomocí níže uvedeného příkazu

[[email protected] ~]# docker service lsID             JMÉNO       REŽIM        REPLIKACE  OBRÁZEK7hqezhyak8jb  webový server  replikováno  5/5        httpd:nejnovější[[email
 Provedením níže uvedeného příkazu zobrazíte stav vaší služby „webserver“

[[email chráněný] ~]# webový server služby docker

Podle výše uvedeného výstupu vidíme, že kontejnery jsou nasazeny napříč uzly clusteru včetně manažerského uzlu. Nyní můžeme přistupovat na webovou stránku z libovolného pracovního uzlu a Docker Manageru pomocí následujících adres URL:

http:// 172.168.10.70 nebo  http://172.168.10.80 nebo http://172.168.10.90

Krok:5 Nyní otestujte samoléčení kontejneru

Samoléčení kontejneru je důležitou vlastností režimu docker swarm. Jak název napovídá, pokud se s kontejnerem něco pokazí, správce se ujistí, že pro službu „webový server“ musí běžet alespoň 5 kontejnerů. Odeberme kontejner z workernode2 a uvidíme, zda je spuštěn nový kontejner.

[[e-mail chráněný] ~]# docker ps[[e-mail chráněný] ~]# docker rm a9c3d2172670 -f

Nyní ověřte službu ze správce dockerů a zjistěte, zda je spuštěn nový kontejner

[[email chráněný] ~]# webový server služby docker

Podle výše uvedeného výstupu vidíme, že je na uzlu dkmanager spuštěn nový kontejner, protože jeden z kontejnerů na workernode2 je odstraněn

Krok:6 Zvětšení a zmenšení kontejnerů spojených se službou

V režimu Docker swarm můžeme zvětšovat a zmenšovat kontejnery nebo úkoly. Zvětšeme kontejnery na 7 pro službu „webový server

[[email protected] ~]# docker service scale webserver=7webserver zmenšen na 7[[email protected] ~]#

Znovu ověřte stav služby pomocí následujících příkazů

Pojďme zmenšit kontejner na 4 pro webový server služby

[[email protected] ~]# docker service scale webserver=4webserver scaled to 4[[email protected] ~]#

Znovu ověřte službu pomocí níže uvedených příkazů

To je pro tento článek vše. Doufám, že máte představu, jak nainstalovat a nakonfigurovat režim docker swarm na CentOS 7.xa RHEL 7.x. Neváhejte se podělit o své názory a komentáře 🙂


Cent OS
  1. Jak nainstalovat Docker na CentOS 7 / RHEL 7

  2. Jak nainstalovat a nakonfigurovat docker v Rocky Linux/Centos 8

  3. CentOS / RHEL 7 :Jak nainstalovat a nakonfigurovat telnet

  1. Jak nainstalovat a nakonfigurovat R na RHEL 8 / CentOS 8 Linux System

  2. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  3. Jak nainstalovat a nakonfigurovat Sambu v CentOS / RHEL

  1. Jak nainstalovat Docker CE na RHEL 8 / CentOS 8

  2. Jak nainstalovat a nakonfigurovat oVirt 4.0 na CentOS 7 / RHEL 7

  3. Jak nainstalovat a nakonfigurovat Jenkins na CentOS 7 a RHEL 7