Docker swarm com play with docker

Primeiro vou começar dizendo que já tem o play with docker swarm para fazer as “tarefas”, porem nem sempre funciona, mas, caso você queira fazer alguns testes aleatórios inclusive subindo a maquina “lider” e os works, conseguimos contornar com essa plataforma!!! muito bom pra quem não quer pagar amazon ou qualquer outra cloud e fazer testes de laboratório! lembrando também que nesse modo não temos opções como load balance mas ajuda muito pra laboratório como já disse acima…. vamos ao que interessa…

Primeiro passo vamos acessar o endereço da plataforma play with docker , acessando esse endereço tem que logar com conta do dockerhub caso não tenha cadastro é necessário fazer, vai aparecer essa tela:

depois….


Depois de clicar no botão start e logar com a conta descrita acima vamos para parte das instancia, lembrando que voêe tem o tempo de 4h de uso para essa instancias:

agora vamos adicionar as “Instances” clicando em “+ ADD NEW INSTANCES” no meu caso fiz um “cluster” com três intancias, mais ai fica a seu critério, feito isso as instancias ficam assim:

da pra usar o terminal via web no browser mais eu não gosto nesse caso eu uso pelo terminal usando campo ssh, copio a chave toda e coloco no terminal:

agora repita isso pras outras duas intancias só para colar os comando com mais facilidade, feito isso volte pro nó1 e execute o seguinte comando deixando o nó1 como “lider”:

###############################################################
#                          WARNING!!!!                        #
# This is a sandbox environment. Using personal credentials   #
# is HIGHLY! discouraged. Any consequences of doing so are    #
# completely the user's responsibilites.                      #
#                                                             #
# The PWD team.                                               #
###############################################################
[node1] (local) root@192.168.0.13 ~
$ docker swarm init --advertise-addr 192.168.0.13
Swarm initialized: current node (0sx7ob0eqvc6oxbcn1mlnn541) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-1ehg58rgxp7vxj9wg9xraixt73l9l8j694t6jzb1fi1tn0wyi8-1k91q04ubuf7dlxozanukshpv 192.168.0.13:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

[node1] (local) root@192.168.0.13 ~
$

agora vamos acessar os nó2 e nó3 e com resultado acima colocaremos nos respectivos nós promovendo eles a “workers” e assim tonando um cluster de swarm sem ter que pagar nada por isso e nem ter uma infra de vm em sua maquina local:

###############################################################
#                          WARNING!!!!                        #
# This is a sandbox environment. Using personal credentials   #
# is HIGHLY! discouraged. Any consequences of doing so are    #
# completely the user's responsibilites.                      #
#                                                             #
# The PWD team.                                               #
###############################################################
[node2] (local) root@192.168.0.12 ~
$ docker swarm join --token SWMTKN-1-1ehg58rgxp7vxj9wg9xraixt73l9l8j694t6jzb1fi1tn0wyi8-1k91q04ubuf7dlxozanukshpv 192.168.0.13:2377
This node joined a swarm as a worker.
[node2] (local) root@192.168.0.12 ~
$
###############################################################
#                          WARNING!!!!                        #
# This is a sandbox environment. Using personal credentials   #
# is HIGHLY! discouraged. Any consequences of doing so are    #
# completely the user's responsibilites.                      #
#                                                             #
# The PWD team.                                               #
###############################################################
[node3] (local) root@192.168.0.11 ~
$ docker swarm join --token SWMTKN-1-1ehg58rgxp7vxj9wg9xraixt73l9l8j694t6jzb1fi1tn0wyi8-1k91q04ubuf7dlxozanukshpv 192.168.0.13:2377
This node joined a swarm as a worker.
[node3] (local) root@192.168.0.11 ~
$

para conferir se esta tudo ok vamos executar os seguintes comandos:
– docker node ls
– docker service ls
– docker service create –name http –replicas 5 -p 8000:80 nginx
– docker service ls
– docker service ps http

[node1] (local) root@192.168.0.13 ~
$ docker node ls
ID                            HOSTNAME   STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
0sx7ob0eqvc6oxbcn1mlnn541 *   node1      Ready     Active         Leader           20.10.17
50mwef16zugkv1i4ujuposwny     node2      Ready     Active                          20.10.17
wel3kt05vbdjmpr168ve5v7ya     node3      Ready     Active                          20.10.17
[node1] (local) root@192.168.0.13 ~
$ docker service ls
ID        NAME      MODE      REPLICAS   IMAGE     PORTS
[node1] (local) root@192.168.0.13 ~
$ docker service create --name http --replicas 5 -p 8000:80 nginx
8xzukjv23vn1fin75v8si54ky
overall progress: 5 out of 5 tasks
1/5: running
2/5: running
3/5: running
4/5: running
5/5: running
verify: Service converged
[node1] (local) root@192.168.0.13 ~
$ docker service ls
ID             NAME      MODE         REPLICAS   IMAGE          PORTS
8xzukjv23vn1   http      replicated   5/5        nginx:latest   *:8000->80/tcp
[node1] (local) root@192.168.0.13 ~
$ docker service ps http
ID             NAME      IMAGE          NODE      DESIRED STATE   CURRENT STATE            ERROR     PORTS
32owjycdmw2r   http.1    nginx:latest   node3     Running         Running 12 seconds ago
h5v18urpyijp   http.2    nginx:latest   node3     Running         Running 12 seconds ago
li50dlaagpsz   http.3    nginx:latest   node1     Running         Running 12 seconds ago
lmiilhmuioe5   http.4    nginx:latest   node2     Running         Running 12 seconds ago
jjrovkn948mr   http.5    nginx:latest   node2     Running         Running 12 seconds ago
[node1] (local) root@192.168.0.13 ~
$

agora só liberar a porta 8000 e voa la!

Pessoal pra quem leu até aqui, esse artigo é mais pra quem quer executar o cluster na “unha” o próprio play with docker já tem opção montada clicando na ferramenta e pedir quantos managers e works você quer.

Deixe um comentário