Docker: Orquestração de containers com o Docker Swarm: Difference between revisions
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. | |||
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''' | ||
<small>Resultado: | |||
This node joined a swarm as a worker. | This node joined a swarm as a worker. | ||
</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