Criando um Cluster de Swarm
No docker 1.12 está mais fácil ainda criar um cluster de Swarm. Neste guia irei mostrar como usar essa nova versão do Docker ao nosso favor e criar um cluster local com máquinas virtuais.
Requisitos:
- Docker Machine
- Virtual Box
- Docker 1.12+
O primeiro passo para iniciar nosso guia é executar os seguintes comandos para criar as máquinas virtuais:
docker-machine create -d virtualbox manager
docker-machine create -d virtualbox worker-01
docker-machine create -d virtualbox worker-02
Após a criação delas, precisamos configurar o terminal para mandar comandos para a máquina manager e iniciar o Modo Swarm:
eval $(docker-machine env manager)docker swarm init
Como a máquina virtual tem 2 interfaces de rede, o Swarm perguntará em qual dessas redes ele estará disponível. Selecione a eth1:
docker swarm init --advertise-addr {eth1 ip}
Depois desse comando, sua máquina manager estará no Modo Swarm e lhe retornara um comando para que você possa fazer mais nodes se juntarem ao cluster. O comando que você receberá será semelhante a esse:
docker swarm join \
-token {some token}\
{manager ip}:2377
Agora trocaremos o terminal para as outras maquinas e faremos elas se juntarem ao cluster:
eval $(docker-machine env worker-01)
docker swarm join -token {some token} {manager ip}:2377
eval $(docker-machine env worker-02)
docker swarm join -token {some token} {manager ip}:2377
Feito isso, você terá um cluster de Swarm. É possível listar os node existentes no seu cluster com o comando:
docker node list
Massa né? Tá curioso pra saber como usar essa ferramenta para fazer deploy e service discovery de serviços? Tem um material massa sobre isso aqui.