Introdução ao Docker Swarm / Definition
Um enxame de encaixe é uma das ferramentas disponíveis nos contêineres do Docker, que são uma plataforma / ferramenta de orquestração de contêiner de código aberto. É também chamada de ferramenta nativa de cluster e agendamento do Docker. Quando o tamanho dos contêineres aumenta, fica muito difícil gerenciar tudo o que é aí que entra a função do Swarm. Ajuda os desenvolvedores e os administradores a gerenciar e estabelecer um cluster dos nós do Docker na forma de um único virtual máquina.
Os conceitos / principais termos usados para o Docker Swarm
- Enxame - Um enxame é composto por muitos sistemas / hosts do Docker que estão sendo executados no modo enxame.
- Swarmkit - Um Swarmkit é usado para implementar a camada de orquestração do Docker.
- Tarefa - Uma tarefa é composta por comandos e pelo contêiner que deve ser executado dentro do contêiner. As tarefas são distribuídas pelo gerenciador de swarm para os nós.
- Nós - o nó pode ser definido como um Docker Engine singular e que está participando do enxame. Uma boa implantação de enxame de produção é aquela que tem os nós do docker distribuídos em várias máquinas.
- Serviço - Sempre que um serviço é criado, ele especifica o contêiner que deve ser usado e os comandos que devem ser executados dentro do contêiner. Portanto, serviço é uma lista de tarefas que devem ser executadas nos nós do trabalhador ou gerente.
- Nós do gerente - O trabalho dos nós do gerente é despachar as tarefas para os nós do trabalhador. Os nós do gerente também são responsáveis por executar outras funções, como gerenciar o cluster e a orquestração.
- Nós do trabalhador - O trabalho do nó do trabalhador é inserir as tarefas provenientes do nó do gerente e executá-las. Um nó de trabalho é instalado com agentes que relatam as unidades do trabalho a ele atribuídas aos nós do gerente.
- Nós líderes - Serve como líder para executar tarefas relacionadas à orquestração.
O que se pode fazer usando o Docker Swarm
O Swarm é muito útil para administradores e desenvolvedores em um ecossistema Docker. A seguir, estão algumas das tarefas que a janela de encaixe pode realizar:
- Pode ser usado para escalar o número de contêineres.
- Para estabelecer a coordenação entre os contêineres.
- Para alocar tarefas ao cluster de contêineres.
- Para gerenciar o ciclo de vida dos contêineres e também para realizar verificações de integridade regulares.
- Para servir ao propósito de implantar as atualizações de software entre os contêineres.
Noções básicas sobre enxame / trabalho do Docker
Abaixo está o trabalho do docker swarm, que é o seguinte:
Trabalho de nós
Como vimos, existem dois tipos de nós, ou seja, o gerente e o trabalhador. Vamos olhar para o trabalho de ambos.
As tarefas que são tratadas pelos nós do gerente são - Planejar os serviços, manter o estado do cluster e também cumprir os pontos de extremidade da API HTTP. É aconselhável executar vários nós do gerenciador, pois isso ajudará você a tirar proveito dos recursos de tolerância a falhas do enxame.
Nós de trabalho executam os contêineres e requer um mínimo de 1 nó de gerente para funcionar.
Trabalho de Serviços
O único objetivo dos serviços é implantar uma imagem de aplicativo no enxame do Docker. Por exemplo, um servidor de banco de dados, servidor Web e servidores HTTP são exemplos de serviços.
Processos e termos em serviço:
- Falha na tarefa - sempre que uma tarefa falha dentro de um enxame de janela de encaixe, geralmente não é reiniciada. Portanto, o trabalho do orquestrador é remover a tarefa que falhou e substituí-la pela nova, conforme o estado do serviço.
- Opção de serviço - sempre que um serviço é criado, sempre podemos definir uma porta na qual o serviço pode ser usado (para usuários externos), limites de memória e CPU podem ser aplicados, políticas de atualização podem ser definidas, etc.
- Serviço pendente - Um serviço entra em um estado pendente quando nenhum nó está disponível no momento no enxame de encaixe para executar a tarefa.
Filtros de enxame do Docker
O enxame de encaixe possui 5 filtros:
- Afinidade - O objetivo do filtro de afinidade é garantir que os contêineres estejam em execução no mesmo nó da rede e também define a sequência na qual os contêineres devem ser executados.
- Porta - a porta define um recurso dedicado. Quando um contêiner estiver em execução na porta que não está livre, ele será deslocado para os outros nós disponíveis.
- Restrição - Quando um nó é criado, podemos atribuir pares de valores-chave com a ajuda de um filtro de restrição.
- Dependência - Sempre que houver uma dependência entre os contêineres, os filtros de dependência planejam aqueles no mesmo nó.
- Saúde - Se algum dos nós estiver inoperante e não estiver funcionando, esse filtro não atribuirá nenhum contêiner a ele.
Alguns comandos do Docker Swarm:
Objetivo | Comando |
Criando um enxame | Docker swarm init |
Entrando em um enxame | junção de enxame de encaixe \
–Token Token_number \ IP: Porta |
Criando um serviço e nomeando-o | serviço docker create –name Edu |
Removendo um Serviço | serviço docker remover Edu |
Serviço de atualização | atualização do serviço docker |
Integridade do nó de monitoramento | nó docker ls |
Vantagens e desvantagens
Vejamos agora as vantagens e desvantagens do enxame de estivadores
Vantagens:
- A implantação é fácil e o modo de enxame é por padrão fornecido com o Docker Engine.
- A instalação é fácil e rápida.
- A integração do enxame pode ser facilmente alcançada com o Docker CLI e o Docker compor
- Não é necessária muita experiência e o aprendizado é fácil.
Desvantagens:
- Para escalar os serviços, é necessária intervenção manual.
- Está tendo tolerância a falhas limitada.
- Não há funções mais amplas disponíveis a partir de agora.
- Possui uma comunidade menor em comparação com outras ferramentas de orquestração disponíveis como o Kubernetes.
Conclusão
Neste artigo, começamos com uma visão geral básica e definição do enxame Docker e também vimos os termos importantes usados na tecnologia de enxame que faz parte do ecossistema. Em seguida, tentamos entender o trabalho por trás do enxame do Docker e também aprendemos alguns comandos do Docker que são usados no modo enxame.
Artigos recomendados
Este foi um guia para o que é o Docker Swarm ?. Aqui discutimos o conceito, comando, filtros, uso e entendimento do Docker Swarm. Você também pode acessar nossos outros artigos sugeridos para saber mais -
- Perguntas da entrevista no Docker
- O que é Cassandra?
- Perguntas sobre entrevistas com microsserviços
- O que é Jenkins?