Selection of multiple docker backends

Registered by Adrian Otto

Milestone-1 of Magnum has a docker daemon specified in the configuration file where docker backend commands are sent. This blueprint tracks the addition of additional endpoints, through an existing technology such as Swarm, or an equivalent.

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
High
Drafter:
Adrian Otto
Direction:
Approved
Assignee:
Andrew Melton
Definition:
Discussion
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon k3
Started by
Andrew Melton
Completed by
Andrew Melton

Related branches

Sprints

Whiteboard

Size Estimate: XL

One way this could work is to create a swarm based bay (right now our bay's really focused around kubernetes). I got the impression the swarm agent must run on each node where docker is running. This creates a bit of a problem bootstrapping swarm - since micro os platforms don't include swarm by default at this time.

Another option is to run the swarm agent in a container, which would minimize the bootstrapping pain.

I've started digging into swarm. The swarm agent is solely meant to advertise the availability of a Docker daemon. As long as a Docker daemon can be found at the address and port advertised, the swarm agent could definitely be run in a container on the same host. I'm also looking at the possibility of running the swarm manager from within a container. As long as it can access the docker daemons at their advertised addresses/ports, it should work just fine.

Just confirmed, all pieces of swarm can run in containers, as long as the manager can route requests to the individual docker daemons.

aotto: Thanks for the size estimate. Let's identify a set of smaller work items that would allow us to split this into multiple smaller efforts, such that one or more of them will fit into milestone-2. Ideas on this?

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.