Skip to content

Swarm mode

wayerr edited this page May 4, 2017 · 22 revisions

Some notes while swarm-mode is implementing

Swarm mode is supported by docker engine at 1.12 version. Now support of it in our system is under development.

issues

https://github.com/codeabovelab/haven-platform/labels/swarm-mode

Roadmap

  • implement docker DTOs
  • extends DockerService for new api methods
  • make new cluster kind and do some refactoring. Swarm-mode define allow to orchestrate only through master-nodes (note that it can be more that one), but also allow to change it nodes by election. Current RealCluster does not support this.
  • make new api: swarm-mode use tasks (conatainer) and services (group of containers with same run args) and not support old containers
  • support for
    • scaling
    • rolling update

docker

Docker Api

Swarm doc

oddities

  • Engine allow to create cluster with one manager node, allow add second manager node, but broken when we remove newly added node (need investigation and workaround)
  • Cluster has ID, and does not allow add any custom labels - we can not store additional info
  • Node id will be generated at join, and rejoined node has new ID - so cluster allow address node by name (need check behavior of adding two nodes with same host name to cluster). Also cluster allow to join multiple nodes with same name.
  • Sequential join-leave from same node cause many records in docker node ls:
# docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
158ap65jnx5ywrlyalwd84ibj    rad-nb2    Down    Active        
5cm235g57ulwxnb2g5vy206i8    rad-nb2    Ready   Active        
7tyuwcf70cbv4cfq21e2vcbln *  rad-nb    Ready   Active        Leader
cxff8xwza51a3zo2wvizweezu    rad-nb2    Ready   Active        
f3ol45mrt4p5ggfem35c6d8bs    rad-nb2    Ready   Active

It require manual removing of nodes. Related bug: https://github.com/docker/docker/issues/24088

also

Clone this wiki locally