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

Jak nainstalovat a nakonfigurovat Docker Swarm na CentOS 7 / Ubuntu 16.04 / Fedora 26/25

Roj dockerů je (neboli Docker engine v režimu swarm) nativním clusteringovým řešením, které ze skupiny hostitelů Docker udělá jediný logický virtuální server. Swarm zajišťuje dostupnost a vysoký výkon vaší aplikace tím, že ji distribuuje na počet hostitelů Docker v clusteru.

S Docker swarm také můžete svou aplikaci škálovat horizontálně, tj. zvýšit počet instancí kontejneru pro stejnou aplikaci.

Naše infrastruktura

Pro ukázku používám smíšené prostředí operačního systému:

Název hostitele IP adresa Operační systém Účel
dockerm.itgeek.local 192.168.12.10 CentOS  7 Působí jako správce Dockeru, který spravuje Docker engine běžící na uzlech. Docker manager také vezme část clusteru, tj. bude také spouštět kontejnery.
node1.itzgeek.local 192.168.12.20 Ubuntu 16.04 Worker Node 1 (spuštěný motor Docker)
node2.itzgeek.local 192.168.12.30 Fedora 26/25 Worker Node 2 (spuštěný motor Docker)

Docker swarm byl dříve samostatný nástroj. Nyní je integrován s modulem Docker od v 1.12 . Stačí tedy nainstalovat Docker engine na všech vašich hostitelích (Manager and Worker Nodes ).

ČTĚTE :Jak nainstalovat Docker Community Edition na CentOS 7 / RHEL 7

ČTĚTE :Jak nainstalovat Docker Community Edition na Ubuntu 16.04

ČTĚTE :Jak nainstalovat Docker Community Edition na Fedoru 26 / Fedora 25

Firewall

Pro správnou funkci swarm clusteru byste museli otevřít následující porty na firewallu.

CentOS / Fedora:

firewall-cmd --permanent --add-port=7946/tcpfirewall-cmd --permanent --add-port=4789/udpfirewall-cmd --permanent --add-port=7946/udpfirewall-cmd -- trvalé --add-port=2376/tcpfirewall-cmd --permanent --add-port=2377/tcpfirewall-cmd --permanent --add-port=80/tcp ## Testujeme Docker Swarm s WebService  firewall-cmd --reload

Ubuntu:

ufw statusufw povolit 2376/tcpufw povolit 7946/tcpufw povolit 7946/udpufw povolit 2377/tcpufw povolit 4789/udpufw povolit 80/tcp ## Testujeme Docker Swarm s WebService ufw reloadufw povolit

Po otevření požadovaných portů restartujte jádro Dockeru, protože řetězec brány firewall ovlivňuje pravidla dockeru.

systemctl restart docker

Dále jsou všechny zmíněné příkazy univerzálními příkazy dockeru, takže příkaz můžete spustit na jakémkoli operačním systému, který Docker podporuje (v našem případě CentOS 7 , Ubuntu 16.04 a Fedora 26/25 ).

Vytvořit roj

Začněme vytváření clusteru pomocí „swarm init “. Spusťte následující příkaz ve svém manažerském uzlu (dockerm.itzgeek.local ).

[root@dockerm ~]# docker swarm init --advertise-addr 192.168.12.10

–advertise-addr volba určuje uzel správce, který má publikovat svou adresu jako 192.168.12.10 aby se pracovní uzel mohl připojit ke clusteru.

Výstup:

Swarm inicializován:aktuální uzel (uhh38rpazd5tnzjph2g5rhgxy) je nyní správcem. Chcete-li do tohoto roje přidat pracovníka, spusťte následující příkaz:    docker swarm join \     --token SWMTKN-1-5y1u36a0osykywxeme2akpjp4jgx2l67mbqbc4fnazs39bp314-e6djx8ma2qnevolztpplkn26j \     192.168.12.10:2377 Chcete-li k tomuto swarmu přidat správce, spusťte „docker swarm join-token manager“ a postupujte podle pokynů.

Výše uvedený výstup má token pro přidání pracovních uzlů do clusteru.

Prohlédněte si aktuální stav roje pomocí následujícího příkazu.

[root@dockerm ~]# informace o dockeru

Výstup:

Kontejnery:0 Spuštěno:0 Pozastaveno:0 Zastaveno:0Obrázky:0Verze serveru:17.03.1-ceStorage Driver:devicemapper Název fondu:docker-253:1-297-pool. . ... . Soubor smyčky metadat:/var/lib/docker/devicemapper/devicemapper/metadata Library Verze:1.02.135-RHEL7 (2016-11-16) Ovladač protokolování:json-fileCgroup Driver:cgroupfsPlugins: Svazek:místní síť:bridgell hostitel macvlan překrytíRoj:aktivní NodeID:uhh38rpazd5tnzjph2g5rhgxy Je správce:true ClusterID:kp8tgowwcuiv3om0wzfgpngp7 Správci:1  Uzly:1 Orchestrace:  Limit uchování historie úkolů:5 Raft:  Interval snímků:10 000  Počet starých snímků k uchování:0  Prezenční signál:1  Volební tiket:3 Dispečer:  Období prezenčního signálu:5 sekund Konfigurace CA:  Doba platnosti Uzel.2:3 měsíce 12.10 Adresy manažer:192.168.12.10:2377Runtimes:runcDefault chodu:runcInit Binární:docker-initcontainerd verze:4ab9917febca54791c5f071a9d1f404867857fccrunc verze:54296cf40ad8143b62dbcaa1d90e520a2136ddfeinit verze:949e6faSecurity Volby:Seccomp profil:defaultKernel version:3.10.0-123.el7.x86_64Operating systém:CentOS Linux 7 (Jádro)OSTyp:linuxArchitektura:x86_64CPU:1Celková paměť:979,9 MiBNázev:dockerm.itzgeek.local ID:OTNI:UJZA:7CC4:TS5N:TVJ7:XXQE:5J7Q:ENWW:ZVPD:3VJI:F5DL:JYSPDocker Root Dir:/var/lib/dockerDebug Mode (klient):falseDebug Mode (server):falseRegistry:https:/ /index.docker.io/v1/VAROVÁNÍ:bridge-nf-call-iptables je zakázán UPOZORNĚNÍ:bridge-nf-call-ip6tables je zakázán Experimentální:falseInsecure Registries: 127.0.0.0/8Live Restore povoleno:false

Pomocí následujícího příkazu můžete vypsat seznam uzlů Docker v roji.

[root@dockerm ~]# uzel dockeru ls

Výstup:

ID                            HOSTNAME                STAV  DOSTUPNOST  STAV SPRÁVCEuhh38rpazd5tnzjph2g5rhgxy *   dockerm  Leaditzgeek      local   Readitzgeek      local   Readitzgeek. Stránky:1 2 
Cent OS
  1. Jak nainstalovat a nakonfigurovat Fail2Ban na CentOS 8 a Fedora 33

  2. Jak nakonfigurovat Autofs na CentOS 7 / Ubuntu 16.04 / Debian 9 / Fedora 27/26

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

  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Redis na CentOS 7

  3. Jak nainstalovat a nakonfigurovat GitLab na CentOS 7

  1. Jak nainstalovat a nakonfigurovat Redmine na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Redis na CentOS 8

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