Docker: Orquestração de containers com o Docker Swarm

From Wiki

Visão geral da orquestração de contêiner

Quando executamos contêineres em produção temos que nos preocupar como:

  • schedular os serviços em nós distribuídos,
  • alta disponibilidade,
  • implementar a reconciliação,
  • o dimensionamento do ambiente
  • o registro em log.

Neste artigo, vou a ferramenta de orquestração que vem incorporada ao Docker Engine, o Docker Swarm, para resolver alguns desses problemas.

Passos

Crie seu primeiro swarm

Para facilitar o entendimento vou usar o https://labs.play-with-docker.com, faça o Login/Sign.

Vou criar 1 node de manager e 2 de workers.

  • manager = gerencia os nodes e containers
  • workers = onde os containers são executados

Clique 3 vezes no botão +Add Instance, para criar 3 nodes.

Criando o Manager

[node1] (local) [email protected] ~$ docker swarm init --advertise-addr eth0

Resultado:

Swarm initialized: current node (zn2ljc47iah166z7mbjmx4o1h) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-60gbmmu7ec4h1jd6e92clfavni07ijeu3hot434nf3ugc9ezfm-1w25pq2bqdialjkia451aepqz 192.168.0.38:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Criando o Worker no Node 2

[node2] (local) [email protected] ~$ docker swarm join --token SWMTKN-1-60gbmmu7ec4h1jd6e92clfavni07ijeu3hot434nf3ugc9ezfm-1w25pq2bqdialjkia451aepqz 192.168.0.38:2377

Resultado:

This node joined a swarm as a worker.

Criando o Worker no Node 2

[node3] (local) [email protected] ~$ docker swarm join --token SWMTKN-1-60gbmmu7ec4h1jd6e92clfavni07ijeu3hot434nf3ugc9ezfm-1w25pq2bqdialjkia451aepqz 192.168.0.38:2377

Resultado:

This node joined a swarm as a worker.

Implante seu primeiro serviço

Escale seu serviço

Aplicar atualizações contínuas

Reconciliar problemas com contêineres

Determine quantos nós você precisa

Ver também