Editado 16 Horas atrás por ExtremeHow Equipe Editorial
DockerOrquestraçãoModo SwarmContêineresDevOpsGestão de ClusterEscalonamentoConfiguraçãoLinha de comandoImplantação de Aplicações
Tradução atualizada 16 Horas atrás
Docker Swarm é uma ferramenta que permite criar e gerenciar um cluster de nós Docker. Ele fornece uma maneira de orquestrar contêineres em escala, o que significa que você pode implantar, escalar e gerenciar contêineres Docker em vários nós. Isso é essencial para aplicativos que exigem alta disponibilidade e balanceamento de carga.
Antes de configurar o Docker Swarm, você precisa instalar o Docker em suas máquinas Linux. Recomenda-se ter pelo menos três nós (um gerente e dois trabalhadores) para criar um cluster Swarm resiliente. Certifique-se de que todos os seus nós estão na mesma rede e podem se comunicar entre si.
Primeiro, certifique-se de que o Docker está instalado em todas as suas máquinas. Você pode verificar a versão do Docker executando o seguinte comando em cada máquina:
docker --version
Se o Docker não estiver instalado, você pode seguir o documento oficial de instalação do Docker para Linux para sua distribuição, como Ubuntu, CentOS, etc.
Selecione uma de suas máquinas Linux como o gerente do Swarm. O nó gerente é responsável por gerenciar o cluster e orquestrar os serviços.
No nó gerente, inicie o cluster de swarm com o seguinte comando:
docker swarm init --advertise-addr <MANAGER-IP>
Substitua <MANAGER-IP>
pelo endereço IP do nó gerente. Após executar este comando, o Docker fornecerá um comando para juntar os nós de trabalho a este Swarm. Certifique-se de anotar este comando, pois você o usará em breve.
Em cada nó de trabalho, execute o comando de junção fornecido pelo Docker Swarm após a inicialização no nó gerente. O comando parece algo assim:
docker swarm join --token SWMTKN-1-xxxxxxxx <MANAGER-IP>:2377
Este comando inclui o token específico para sua configuração Swarm e o endereço IP do gerente. Execute este comando em cada nó de trabalho. Se for bem-sucedido, o terminal exibirá uma mensagem de confirmação indicando que o nó se juntou ao Swarm.
Para verificar se os nós de trabalho se juntaram ao swarm com sucesso, volte para o seu nó gerente. Execute o seguinte comando para ver todos os nós:
docker node ls
Você deve ver uma lista dos nós no seu swarm, incluindo gerentes e trabalhadores. Esta saída mostra o status de cada nó e seu papel.
Agora que você configurou o Docker Swarm, pode implantar serviços em seu Swarm. Um serviço no Docker Swarm é uma tarefa que define como um contêiner será executado no Swarm.
Aqui está um exemplo de implantação de um serviço simples:
docker service create --replicas 3 --name hello_world alpine ping docker.com
Este comando cria um serviço chamado "hello_world" que executa três réplicas do contêiner Alpine Linux, realizando um ping em docker.com. O Docker Swarm distribuirá essas réplicas automaticamente para os nós.
Para listar todos os serviços em execução no seu swarm, use o seguinte comando no nó gerente:
docker service ls
Para obter informações mais detalhadas sobre um serviço específico, incluindo tarefas (ou contêineres) em execução, use:
docker service ps <service_name>
Por exemplo, para inspecionar um serviço "hello_world" já implantado:
docker service ps hello_world
Uma das vantagens do Docker Swarm é a capacidade de escalar facilmente os serviços. Você pode aumentar ou diminuir o número de réplicas de um serviço assim:
docker service scale hello_world=5
Este comando aumentará o número de réplicas em execução para o serviço "hello_world" para 5. O Docker Swarm gerenciará em quais nós essas réplicas adicionais serão colocadas, garantindo o balanceamento de carga adequado.
Você pode atualizar as configurações de um serviço em execução sem interrompê-lo. Por exemplo, você pode alterar a versão da imagem usada pelo serviço.
docker service update --image alpine:latest hello_world
Isso atualiza o serviço "hello_world" para usar a versão mais recente da imagem Alpine. O Docker Swarm realiza uma atualização gradual, substituindo tarefas antigas por novas tarefas usando a imagem atualizada sem tempo de inatividade.
Para remover um serviço quando ele não for mais necessário, execute o seguinte comando:
docker service rm hello_world
Este comando remove o serviço especificado do swarm e para todas as réplicas associadas.
Se você decidir remover um nó de trabalho do swarm, poderá sair do swarm usando este comando no nó de trabalho:
docker swarm leave
Para o nó gerente, se você quiser excluí-lo ou reiniciá-lo, use:
docker swarm leave --force
Configurar o Docker Swarm no Linux permite gerenciar e escalar contêineres de forma eficiente em vários nós. Este guia orienta você em como iniciar o Docker Swarm, adicionar nós, implantar serviços, escalar serviços, atualizar serviços e, por fim, remover nós e serviços quando necessário.
Ao implementar o Docker Swarm, você dá um grande passo para fornecer alta disponibilidade, balanceamento de carga e gerenciamento simplificado de contêineres. Você pode explorar ainda mais as capacidades do Docker Swarm, como configuração de rede e comunicação segura entre nós.
Este conhecimento forma uma base sólida sobre a qual você pode construir implantações avançadas e integrar com pipelines de CI/CD para automatizar seus processos de desenvolvimento e entrega.
Se você encontrar algo errado com o conteúdo do artigo, você pode