Docker: Orquestração de containers com o Docker Swarm: Difference between revisions

From Wiki
Line 32: Line 32:
  [node1] (local) [email protected] ~$ '''docker swarm init --advertise-addr eth0'''
  [node1] (local) [email protected] ~$ '''docker swarm init --advertise-addr eth0'''


  Resultado:
  <small>Resultado:
  ''Swarm initialized: current node (zn2ljc47iah166z7mbjmx4o1h) is now a manager.
  Swarm initialized: current node (zn2ljc47iah166z7mbjmx4o1h) is now a manager.
   
   
  To add a worker to this swarm, run the following command:
  To add a worker to this swarm, run the following command:
Line 40: Line 40:
   
   
  To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  ''
  </small>


==== Criando o Worker no Node 2 ====
==== Criando o Worker no Node 2 ====
Line 46: Line 46:
  [node2] (local) [email protected] ~$ '''docker swarm join --token SWMTKN-1-60gbmmu7ec4h1...ia451aepqz 192.168.0.38:2377'''
  [node2] (local) [email protected] ~$ '''docker swarm join --token SWMTKN-1-60gbmmu7ec4h1...ia451aepqz 192.168.0.38:2377'''


  ''Resultado:   
  <small>Resultado:   
<nowiki>
  This node joined a swarm as a worker.
  This node joined a swarm as a worker.
</nowiki>''
</small>


==== Criando o Worker no Node 3 ====
==== Criando o Worker no Node 3 ====


  [node3] (local) [email protected] ~$ '''docker swarm join --token SWMTKN-1-60gbmmu7ec4h1...ia451aepqz 192.168.0.38:2377'''
  [node3] (local) [email protected] ~$ '''docker swarm join --token SWMTKN-1-60gbmmu7ec4h1...ia451aepqz 192.168.0.38:2377'''
==== Listando os Nodes ====
[node1] (local) [email protected] ~$ '''docker node ls'''
  <small>Resultado: 
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
zn2ljc47iah166z7mbjmx4o1h *  node1              Ready              Active              Leader              18.03.1-ce
lchy7h37gybh01uaoifcf2tk1    node2              Ready              Active                                  18.03.1-ce6dfxgdw04f
t40kelfin697kdjf96lh4n0f2    node3              Ready              Active                                  18.03.1-ceeoektffd94
</small>


==Implante seu primeiro serviço==
==Implante seu primeiro serviço==

Revision as of 01:06, 27 September 2018

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.

Pontos importantes:

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


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.

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-60gbmmu7ec4h1...ia451aepqz 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-60gbmmu7ec4h1...ia451aepqz 192.168.0.38:2377
Resultado:   
This node joined a swarm as a worker.

Criando o Worker no Node 3

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

Listando os Nodes

[node1] (local) [email protected] ~$ docker node ls
 Resultado:   
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
zn2ljc47iah166z7mbjmx4o1h *   node1               Ready               Active              Leader              18.03.1-ce
lchy7h37gybh01uaoifcf2tk1     node2               Ready               Active                                  18.03.1-ce6dfxgdw04f
t40kelfin697kdjf96lh4n0f2     node3               Ready               Active                                  18.03.1-ceeoektffd94

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