Selection of multiple docker backends
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:
- k3
- Started by
- Andrew Melton
- Completed by
- Andrew Melton
Related branches
Related bugs
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.