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:

ObjetivoComando
Criando um enxameDocker swarm init
Entrando em um enxamejunção de enxame de encaixe \

–Token Token_number \

IP: Porta

Criando um serviço e nomeando-oserviço docker create –name Edu
Removendo um Serviçoserviço docker remover Edu
Serviço de atualizaçãoatualização do serviço docker
Integridade do nó de monitoramentonó 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 -

  1. Perguntas da entrevista no Docker
  2. O que é Cassandra?
  3. Perguntas sobre entrevistas com microsserviços
  4. O que é Jenkins?