GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare la modalità Docker Swarm su CentOS 7 / RHEL 7

La modalità Docker Swarm è uno strumento di orchestrazione e clustering di un contenitore per la gestione dell'host Docker. La modalità Docker Swarm è la parte nativa del motore Docker. Significa che non devi installare nulla tranne il motore Docker perché la modalità sciame Docker fa parte del motore Docker.

La modalità sciame Docker è stata introdotta in Docker 1.12. Alcuni dei principali vantaggi della modalità sciame Docker sono l'autoguarigione del contenitore , bilanciamento del carico , aumento della capacità del contenitore e ridimensionare , scoperta del servizio e aggiornamenti continui . Negli ultimi due articoli abbiamo discusso i seguenti argomenti

  • Come installare Docker su CentOS 7
  • Come creare immagini Docker Container con Dockerfile

In questo articolo illustreremo come installare e configurare Docker Swarm Mode su CentOS 7.x / RHEL 7.x  Per la dimostrazione utilizzerò 3 CentOS 7.x o RHEL 7.x Server su cui installerò il motore Docker. Di cui due server fungeranno da Motore Docker o Nodo di lavoro e uno agirà come un manager . Nel mio caso sto usando i seguenti:

  • dkmanager.example.com (172.168.10.70 ) – Agirà come manager che gestirà il motore Docker o gli host o il nodo di lavoro e funzionerà anche come motore Docker.
  •  workernode1.example.com ( 172.168.10.80 ) – agirà sul motore Docker o sul nodo di lavoro
  • workernode2.example.com ( 172.168.10.90 ) – agirà sul motore Docker o sul nodo di lavoro

Aggiorna le seguenti righe nel file /etc/hosts su tutti i server

172.168.10.70    dkmanager.example.com   dkmanager172.168.10.80    workernode1.example.com         workernode1172.168.10.90    workernode2.example.com         workernode2

Passaggio:1 Installa Docker Engine su tutti gli host

Per prima cosa imposta il repository docker e quindi esegui sotto il comando su tutti gli host.

[[email protected] ~]# yum install yum-utils –y[[email protected] ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/ docker-ce.repo[[email protected] ~]# yum install docker-ce docker-ce-cli containerd.io –y[[email protected] ~]# systemctl start docker[[email protected] ~]# systemctl abilita docker 

Ripeti i passaggi precedenti per workernode1 e workernode2

Nota:al momento della stesura di questo articolo era disponibile la versione Docker 1.13.

Passaggio:2 Apri le porte del firewall sui nodi Manager e Worker

Apri le seguenti porte nel firewall del sistema operativo su Docker Manager utilizzando i seguenti comandi

[[email protected] ~]# firewall-cmd --permanent --add-port=2376/tcpsuccess[[email protected] ~]# firewall-cmd --permanent --add-port=2377/tcpsuccess[ [email protected] ~]# 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[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcpsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]#

Riavvia il servizio Docker su Docker Manager

[[email protected] ~]# systemctl restart docker

Apri le seguenti porte su ciascun nodo di lavoro e riavvia il servizio 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 riavvia la finestra mobile

Passaggio:3 Inizializza lo swarm o il cluster usando il comando "docker swarm init"

Esegui il comando seguente dal nodo manager(dkmanager) per inizializzare il cluster.

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

Questo comando renderà il nostro nodo un nodo manager e stiamo anche pubblicizzando l'indirizzo IP del manager nel comando sopra in modo che il nodo slave o di lavoro possa unirsi al cluster.

Esegui il comando seguente per verificare lo stato del gestore e per visualizzare l'elenco dei nodi nel tuo cluster

[[email protected] ~]# docker node lsID                           HOSTNAME              STATUS  AVAILABILITY  MANAGER STATUSn64oy2sml1w188ps109mai67b *  dkmanager.example.com Pronto   Attivo [e      Leader] ~#preted
 Possiamo anche utilizzare le "informazioni docker ” comando per verificare lo stato di swarm

Passaggio:3 aggiungi nodi di lavoro allo sciame o al cluster

Per aggiungere nodi di lavoro allo swarm o al cluster, esegui il comando che riceviamo quando inizializziamo lo swarm. Il comando di esempio è mostrato nel passaggio 3

[[email protected] ~]# docker swarm join --token SWMTKN-1-4jjyu1btmdky0ou6gl2dwgt24bolpsdn5yd77pohmcnmz0s288-11xwcvzjar29fskkhfvlzsmhr 172.168.10.70:2377Questo nodo si è unito a uno swarm come worker.[protected[email] email [protetto] ~]# Docker swarm join --token SWMTKN-1-4jjyu1btmdky0ou6gl2dwgt24bolpsdn5yd77pohmcnmz0s288-11xwcvzjar29fskkhfvlzsmhr 172.168.10.70:2377Questo nodo si è unito a uno sciame come lavoratore.[[email protected] ~]#

Verifica lo stato del nodo utilizzando il comando "docker node ls ” da Docker Manager

A questo punto la nostra modalità o cluster swarm della finestra mobile è attiva e funzionante con due nodi di lavoro. Nel prossimo passaggio vedremo come definire un servizio.

Passaggio:4 Avvio del servizio in modalità Docker Swarm

Nella modalità sciame Docker i contenitori vengono sostituiti con le parole attività e le attività (o contenitori) vengono avviate e distribuite come servizio e supponiamo di voler creare un servizio con il nome "server web" con cinque contenitori e vuoi assicurarti che lo stato desiderato dei contenitori all'interno del servizio sia cinque.

Esegui i seguenti comandi solo da Docker Manager.

[[email protected] ~]# docker service create -p 80:80 --name webserver --replicas 5 httpd7hqezhyak8jbt8idkkke8wizi[[email protected] ~]#

Il comando precedente creerà un servizio con il nome "server web", in cui lo stato desiderato dei contenitori o dell'attività è 5 e i contenitori verranno avviati dall'immagine della finestra mobile "httpd “. I container verranno distribuiti sui nodi del cluster, ovvero dkmanager , workernode1 e workernode2

Elenca il servizio Docker con il comando seguente

[[email protected] ~]# docker service lsID            NOME       MODALITÀ        REPLICHE  IMAGE7hqezhyak8jb  webserver  replicato  5/5       httpd:latest[[email protected] ~]#

Esegui il comando seguente per visualizzare lo stato del tuo servizio "server web"

[[email protected] ~]# docker service ps webserver

Come per l'output sopra, possiamo vedere che i contenitori sono distribuiti tra i nodi del cluster, incluso il nodo manager. Ora possiamo accedere alla pagina Web da qualsiasi nodo di lavoro e Docker Manager utilizzando i seguenti URL:

http:// 172.168.10.70 o  http://172.168.10.80 o http://172.168.10.90

Fase:5 ora prova l'autoguarigione del contenitore

L'autoguarigione del contenitore è la caratteristica importante della modalità sciame Docker. Come suggerisce il nome, se qualcosa va storto con container , il manager si assicurerà che almeno 5 container siano in esecuzione per il servizio "webserver". Rimuoviamo il container da workernode2 e vediamo se viene avviato o meno un nuovo container.

[[email protetta] ~]# docker ps[[email protetta] ~]# docker rm a9c3d2172670 -f

Ora verifica il servizio da Docker Manager e verifica se un nuovo container viene avviato o meno

[[email protected] ~]# docker service ps webserver

Come per l'output sopra, possiamo vedere che un nuovo container viene lanciato sul nodo dkmanager perché uno dei container su workernode2 è stato rimosso

Passaggio:6 Aumentare e ridurre i contenitori associati a un servizio

Nella modalità sciame Docker possiamo aumentare e ridurre i contenitori o le attività. Aumentiamo i contenitori a 7 per il servizio "server web '

[[email protected] ~]# docker service scale webserver=7webserver ridimensionato a 7[[email protected] ~]#

Verifica nuovamente lo stato del servizio con i seguenti comandi

Riduciamo il contenitore a 4 per il server web del servizio

[[email protected] ~]# docker service scale webserver=4webserver ridimensionato a 4[[email protected] ~]#

Verifica di nuovo il servizio con i comandi sotto

Questo è tutto per questo articolo. Spero che tu abbia un'idea su come installare e configurare la modalità swarm docker su CentOS 7.x e RHEL 7.x. Non esitare a condividere feedback e commenti 🙂


Cent OS
  1. Come installare e configurare R sul sistema Linux RHEL 8 / CentOS 8

  2. Come installare Docker su CentOS 7 / RHEL 7

  3. Come installare e configurare la finestra mobile in Rocky Linux/Centos 8

  4. CentOS / RHEL 7 :Come installare e configurare telnet

  5. Come installare e configurare Samba in CentOS/RHEL

Come installare e configurare un cluster Docker Swarm su CentOS 8

Come installare e configurare il server VNC in CentOS 7 / RHEL 7

Come installare e configurare Docker Swarm su CentOS 7 / Ubuntu 16.04 / Fedora 26/25

Come installare e configurare Jenkins su CentOS 8 / RHEL 8

Come installare e configurare MariaDB in CentOS / RHEL 7

Come installare e configurare il server VNC su CentOS/RHEL 8