Closed jamshid closed 4 years ago
Sorry, I thought I attached the journalctl -u docker logs but don't see them. Here they are: Manager: atlantic.log Worker: atlantic2.log
Same behavior on azure. Does the weave v2 plugin not work in cloud environments? Some other setup is required? I see this old old 2015 blog that uses the legacy weave network on azure: https://www.weave.works/blog/microsoft-azure-docker-networking-ansible-weave/
Yes it is supposed to work in the cloud. We test every commit with this script running at Google Cloud.
Looking at the logs it doesn't seem to have known to connect to any other nodes. Try creating the swarm cluster before installing the Weave Net plugin.
Thanks so much @bboreham that was exactly the problem. Once I made the worker node join the swarm cluster before installing the weave plugin I was able to use the weave network that was created on the manager. Verified in both digitalocean and azure. Great tech, the only container networking solution I know that handles multicast.
What you expected to happen?
The weave v2 plugin works well on my home network with ubuntu 18 docker servers joined in a docker swarm cluster, but not in digitalocean. Weave DNS works across the two docker servers in digitalocean, but not actual traffic.
Can you let me know if digitalocean is not supported or has known problems before I try to troubleshoot further?
What happened?
I can start a container on the weave network on both the swarm manager and worker nodes, and DNS resolves the container names, but traffic isn't working.
How to reproduce it?
I create two docker servers. I install and configure the weave plugin (with multicast and encryption enabled) on both docker servers. Then I join them in a swarm cluster. (This is the same thing I did on my home network which works).
Manager:
Worker:
Then create a weave network on the manager:
Then start a container on manager with netcat listening on a port:
Finally start a container on the worker. While it can resolve the container name
weavetest
it cannot reach it by name or ip.Btw doing this curl from a container on the manager works fine.
Anything else we need to know?
Digitalocean, all commands I used listed above.
Versions:
Logs:
Network:
These commands within the container are above. Here are these commands run from the docker servers.
MANAGER:
WORKER: