Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docker_advanced_install_swarm_intro [2020/01/24 19:41] andonovjdocker_advanced_install_swarm_intro [2020/03/09 12:18] (current) – [Create service] andonovj
Line 13: Line 13:
 =====Setup===== =====Setup=====
 Let's set it up. Let's set it up.
-We will have servers:+We will have servers:
  
-  * 3 Managers+  * 1 Manager
   * 2 Workers   * 2 Workers
 +
 +====Automatic====
 +You can see the automatic creation in the Vagrant section: [[vagrant_docker_install|Multiple Servers Configuration with Vagrant]]
 +
 +After the setup is done, please be sure that workers, have joined, we can create the service as follows:
 +
 +====Manual====
 +The creation of the VMs and installation of docker-ce will not be discussed as it has been done in at least 10 other sections.
 +So let's check how to setup manager and 2 workers:
 +
 +===Initiation===
 +The initiation of the Swarm is done from one of the managers as follow:
 +<Code:none|Init the Swarm>
 +docker swarm init --listen-addr 10.100.199.200:2377 --advertise-addr 10.100.199.200:2377
 +</Code>
 +
 +That command will initialize a swarm with 1 manager who will listen on IP: 10.100.199.200:2377 for docker swarm related activities (advertise-addr) and income traffic (listen-addr)
 +
 +===Addition===
 +To join a swarm a server must have the swarm's token. The token can be taken as follows:
 +
 +<Code:none|Get Join Token for Manager & Worker>
 +[root@mgr1 ~]# docker swarm join-token manager
 +To add a manager to this swarm, run the following command:
 +
 +    docker swarm join --token SWMTKN-1-4mqe4htimsl9wrlzstzx6c18qmibjfjuuihdp3o91pnmssbvml-69b13glzhdgfzh58hbg7jwn69 10.100.199.200:2377
 +
 +[root@mgr1 ~]# docker swarm join-token worker
 +To add a worker to this swarm, run the following command:
 +
 +    docker swarm join --token SWMTKN-1-4mqe4htimsl9wrlzstzx6c18qmibjfjuuihdp3o91pnmssbvml-1h1yrqixgrme7aypq6c4m0npj 10.100.199.200:2377
 +
 +[root@mgr1 ~]#
 +
 +</Code>
 +
 +Now, it is good idea to ALWAYS add the advertise and listener address to the server:
 +
 +Manually, workers and manager can be joined to the swarm as follows:
 +
 +<Code:none|Add a node to the Swarm>
 +docker swarm join --token SWMTKN-1-4mqe4htimsl9wrlzstzx6c18qmibjfjuuihdp3o91pnmssbvml-1h1yrqixgrme7aypq6c4m0npj \
 +manager_advertise_ip:2377 \
 +--advertise-addr worker_advert_ip_addr:2377 \ 
 +--listener-addr worker_listen_ip_addr:2377
 +</Code>
 +
 +Insert the correct token depending on, if you are adding worker or a manager. The above is for worker.
 +
 +=====Create service=====
 +The creation of the service is rather easy:
 +
 +<sxh bash>
 +[root@mgr1 ~]# docker service create --name httpDemoService --replicas 3 -p 80:1234 andonovj/httpserverdemo
 +nz82mserbonjcoccp7iir7hfn
 +overall progress: 3 out of 3 tasks
 +1/3: running   [==================================================>]
 +2/3: running   [==================================================>]
 +3/3: running   [==================================================>]
 +verify: Service converged
 +[root@mgr1 ~]# docker service ls
 +ID                  NAME                MODE                REPLICAS            IMAGE                            PORTS
 +q8s7iiv4rwu7        httpDemoService     replicated          3/3                 andonovj/httpserverdemo:latest
 +[root@mgr1 ~]#
 +[root@mgr1 ~]#
 +[root@mgr1 ~]#
 +[root@mgr1 ~]#
 +[root@mgr1 ~]# docker node ls
 +ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
 +occzvuwmny5rm8x8an4bctdc1 *   mgr1                Ready               Active              Leader              19.03.7
 +7oubfm1qdun533xw9s14lt3pu     worker01            Ready               Active                                  19.03.7
 +sdcosdbt1f94rrvbr8m9ng30s     worker02            Ready               Active                                  19.03.7
 +[root@mgr1 ~]#
 +[root@mgr1 ~]# docker service ps httpDemoService
 +ID                  NAME                IMAGE                            NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
 +avcanadogs3e        httpDemoService.1   andonovj/httpserverdemo:latest   mgr1                Running             Running 27 seconds ago
 +6pgfba2xdg0q        httpDemoService.2   andonovj/httpserverdemo:latest   worker01            Running             Running 9 seconds ago
 +me2174rye7nu        httpDemoService.3   andonovj/httpserverdemo:latest   worker02            Running             Running 8 seconds ago
 +[root@mgr1 ~]#
 +
 +</sxh>
  
  
  • docker_advanced_install_swarm_intro.1579894886.txt.gz
  • Last modified: 2020/01/25 03:41
  • (external edit)