- 
        Couldn't load subscription status. 
- Fork 41
Swarm mode
        wayerr edited this page May 4, 2017 
        ·
        22 revisions
      
    Swarm mode is supported by docker engine at 1.12 version. Now support of it in our system is under development.
https://github.com/codeabovelab/haven-platform/labels/swarm-mode
- 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
 
- 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
- sometimes ports may be hidden: https://github.com/docker/docker/issues/30232
- no events https://github.com/docker/docker/issues/23827
- docker plans to implement api for Prometeus metric system https://github.com/docker/docker/issues/27307