High availability¶
Overview¶
The high-availability relies on Docker Swarm which gives the following services :
Monitored service
Multi-node deployment
Keep-alive of the actives nodes
Possibility to create replicas of the same services
Warning
Swarm doesn’t provide shared storage. This feature must be provided by the system administrator with an external service.
Note
Some services use persisted states for some values. In this case, the volume holding these information must be shared. This ensures that values are still present when a service move to another node. See the module capabilities for more information.
Placement constraints¶
Each service can be constrained to run only in some nodes. Constraints can be defined based on the host OS, node roles or node labels.
A typical example is to run services with shared storage in the nodes with shared storage.
deploy:
placement:
constraints:
- "node.labels.osp-node==shared-storage"
Replicas¶
Load distribution is used when a module has a lot of load which cannot be handled on a single node (can be networking / CPU / memory usage).
For example, a compatible module (See the module capabilities) can be run at the same time on multiple node to share the load.
deploy:
replicas:
2