You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: admin-training/containers/01-docker-swarm-introduction.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,15 +24,15 @@ This guide assumes that:
24
24
2. The sNow! server will also provide access to share file system via NFS (/home and /sNow). Check the [sNow! documentation](https://hpcnow.github.io/snow-documentation) in order to integrate other cluster file systems like BeeGFS, Lustre or IBM Spectrum Scale.
25
25
26
26
## Installation
27
-
Docker Swarm manager nodes implement the Raft Consensus Algorithm to manage the global cluster state.
27
+
Docker Swarm manager nodes implement the *Raft Consensus Algorithm* to manage the global cluster state.
28
28
This is key for managing and scheduling tasks in the cluster, and also storing the same consistent state.
29
29
30
-
Raft tolerates up to (N-1)/2 failures and requires a majority or quorum of (N/2)+1 members to agree on values proposed to the cluster. This means that the size of the cluster should be at least 3 to resist one node failure or 5 to resist 3 nodes failures.
30
+
Raft *tolerates* up to *(N-1)/2 failures* and requires a majority or quorum of (N/2)+1 members to agree on values proposed to the cluster. This means that the size of the cluster should be at least 3 to resist one node failure or 5 to resist 3 nodes failures.
31
31
32
32
This hands-on assumes that you have already deployed three VMs (domains) dedicated for Docker Swarm cluster or three compute nodes (production solution).
33
33
34
34
By default manager nodes also act as a worker nodes. For a small systems or non-critical services, this is relatively low-risk.
35
-
However, because manager nodes use the Raft consensus algorithm to replicate data in a consistent way, they are sensitive to resource starvation. In sNow! environment you can isolate managers in VMs without running other services and deploy few bare metal nodes as Docker Swarm workers. In order to do so, you can drain manager nodes to make them unavailable as worker nodes:
35
+
However, because manager nodes use the Raft consensus algorithm to replicate data in a consistent way, they are sensitive to resource starvation. In sNow! environment you can *isolate managers in VMs without running other services* and deploy few bare metal nodes as Docker Swarm workers. In order to do so, you can drain manager nodes to make them unavailable as worker nodes:
36
36
```
37
37
docker node update --availability drain <NODEID>
38
38
```
@@ -196,9 +196,11 @@ docker service rm sleep_app
196
196
The following example represents much better the benefits of adopting this technology.
197
197
198
198
### Defining a stack of services
199
-
Docker Swarm allows to deploy a complete application stack to the swarm. The deploy command accepts a stack description in the form of a Compose file.
199
+
Docker Swarm allows to deploy a complete application stack to the swarm. The deploy command accepts a stack description in the form of a [compose-file](https://docs.docker.com/compose/compose-file/).
200
200
201
-
In the container folder there is a file called monitoring-stack.yml which contains an example of a complete monitoring stack including a ElasticSearch cluster, kibana, InfluxDB, grafana, etc.
201
+
In the container folder there are two compose files:
202
+
*[gui-stack.yml](gui-stack.yml) which contains an example of two popular Swarm GUIs stack, [Portainer](https://portainer.io) and [Swarmpit](https://swarmpit.io/).
203
+
*[monitoring-stack.yml](monitoring-stack.yml) which contains an example of a complete monitoring stack including a ElasticSearch cluster, Kibana, InfluxDB, Grafana, etc.
202
204
203
205
Download this file to your swarm01 and execute the following command to orchestrate the monitoring stack example:
0 commit comments