Docker Swarm no CentOS 8
Docker Swarm é uma ferramenta de orquestração de contêineres, o que significa que permite ao usuário gerenciar vários contêineres implantados em várias máquinas host. Um dos principais benefícios associados à operação de um Docker Swarm, é o alto nível de disponibilidade oferecido aos aplicativos e nesse artigo vamos instalar em um CentOS 8.
Instalação e Configuração
Bom, para esse artigo vamos usar:
Após a instalação do CentOS 8.2 e sua atualização, vamos desativar o SELinux e também o Firewalld.
Desative o SELinux nos 3 server:
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Desative o Firewalld:
# systemctl disable firewalld
E reinicie os 3 server:
# reboot
Agora vamos instalar o Docker-CE nos 3 Hosts. Adicione o repositório:
# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Instale o containerd.io:
# dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
Agora instale o Docker-CE:
# dnf install docker-ce -y
Ative na inicialização e inicie o serviço:
# systemctl enable --now docker
Já temos o Docker instalado nos 3 servers.
Feito isso, agora vamos iniciar nosso cluster Swarm.
No server 1, vamos iniciar o Swarm:
# docker swarm init Ele iniciou como o Manager e para adicionar os worker, é só copiar o token e adicionar nos outros 2 server.
Vamos adicionar o server 2 no cluster. No Server 2 digita o token que foi gerado:
# docker swarm join --token SWMTKN-1-4sw8yxno3zwqmqlg2t8m7yaolmuilgmgofwhcwach25s2xq0bg-d9v6dpq7afp90xxe66cs7x671 192.168.0.199:2377 Vamos adicionar server 3 no cluster. No server 3 digita o token que foi gerado:
# docker swarm join --token SWMTKN-1-4sw8yxno3zwqmqlg2t8m7yaolmuilgmgofwhcwach25s2xq0bg-d9v6dpq7afp90xxe66cs7x671 192.168.0.199:2377 Agora vamos ver se esta OK o nosso cluster:
# docker node ls
E nosso cluster está no ar. Caso queira visualizar de uma maneira mais visual, use o Docker Swarm visualizer.
Rode o comando:
# docker service create
--name=viz
--publish=8080:8080/tcp
--constraint=node.role==manager
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock
dockersamples/visualizer
Depois, só acessar via browser: http://<IP>:8080
Guia de referência: Deploy to Swarm | Docker Documentation
- 03 Server com CentOS 8.2
- 04 GB de Memória
- 100GB de Disco
Após a instalação do CentOS 8.2 e sua atualização, vamos desativar o SELinux e também o Firewalld.
Desative o SELinux nos 3 server:
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Desative o Firewalld:
# systemctl disable firewalld
E reinicie os 3 server:
# reboot
Agora vamos instalar o Docker-CE nos 3 Hosts. Adicione o repositório:
# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Instale o containerd.io:
# dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
Agora instale o Docker-CE:
# dnf install docker-ce -y
Ative na inicialização e inicie o serviço:
# systemctl enable --now docker
Já temos o Docker instalado nos 3 servers.
Feito isso, agora vamos iniciar nosso cluster Swarm.
No server 1, vamos iniciar o Swarm:
# docker swarm init Ele iniciou como o Manager e para adicionar os worker, é só copiar o token e adicionar nos outros 2 server.
Vamos adicionar o server 2 no cluster. No Server 2 digita o token que foi gerado:
# docker swarm join --token SWMTKN-1-4sw8yxno3zwqmqlg2t8m7yaolmuilgmgofwhcwach25s2xq0bg-d9v6dpq7afp90xxe66cs7x671 192.168.0.199:2377 Vamos adicionar server 3 no cluster. No server 3 digita o token que foi gerado:
# docker swarm join --token SWMTKN-1-4sw8yxno3zwqmqlg2t8m7yaolmuilgmgofwhcwach25s2xq0bg-d9v6dpq7afp90xxe66cs7x671 192.168.0.199:2377 Agora vamos ver se esta OK o nosso cluster:
# docker node ls
E nosso cluster está no ar. Caso queira visualizar de uma maneira mais visual, use o Docker Swarm visualizer.
Rode o comando:
# docker service create
--name=viz
--publish=8080:8080/tcp
--constraint=node.role==manager
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock
dockersamples/visualizer
Depois, só acessar via browser: http://<IP>:8080
Guia de referência: Deploy to Swarm | Docker Documentation
Muito bom artigo.
___________________________________________________________