Great article. It’s always bugged me that the standard swarm setup always has the kv store external from the cluster. Getting machine to reference the swarm itself for kv seems to work just fine despite the bit of trickery required in the setup.
What would be a good solution in this case for service discovery on the overlay networks? It would be great to also use the same consul cluster running on the swarm masters as the service discovery mechanism for the overlay network, but it doesn’t seem feasible in practice so far.