New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No route to host / connection refused - swarm mode on ARM #25892
Comments
I was able to reproduce the problem. However, using the wan0 address I was able to access. when I originally init'd the swarm it gave the message that used the wan0 address: |
Thanks for looking into this @ManoMarks . I have done a docker leave on the first Pi which was the swarm leader. I then noted the ethernet address of the new swarm it created on When I join a single worker then scale to two replicas I get the error on a round robin basis. Hmm I doing something wrong here? Summary: A single manager works on its own, when > 1 node exists in the swarm: routing error.
Diagnostics:
|
I am having the same problems, with a single manager in a 3-node swarm - the manager is set to drain. |
Can you try updating the docker.service file to add a --debug flag? See if you get errors. @DJBnjack |
1st use-case is as documented above is broken on Raspbian and Arch Linux but not Hypriot - start a web service and scale it over > 1 node then try to curl it through the manager. You will get no route to host. 2nd broken use-case (on Raspbian and Hypriot and Arch Linux): Intercontainer communication:
|
Are you trying Raspbian Jesse Lite and Raspbian Jesse? On Sun, Aug 21, 2016 at 11:55 AM, Alex Ellis notifications@github.com
|
@alexellis - my bad, did not notice this was an open issue for ARM and not in general. I am running docker on x86 machines. My problem seemed to have been that the services were killed/created too fast: waiting 30 seconds after killing a service before re-creating it seems to be a working work-around for me now. |
I've been able to reproduce the issue with Raspbian Jesse. Single node works, two or more doesn't work. |
On the worker and the manager, when I "join" I get an error: Failed to create testvxlan interface: error creating vxlan interface: operation not supported Worker:
Manager:
|
@alexellis looks like your kernel might not have vxlan support? The check-config script might help diagnose https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh |
@justincormack you are absolutely right, this is a standard Raspbian Jessie OS and this kernel did not have all the recommended Docker settings included, only the mandatory ones. In this case not all the features are working, e.g. VXLAN is not included for sure! |
@justincormack That is presumably going to stop swarmmode from functioning fully? @DieterReuter even with HypriotOS (after reflashing 3x Model 3 Pis) the third test scenario did not work for me. If you could find time to repo it would be appreciated. I've summarised the basic test scenarios I wanted to see working to be able to launch Mano's swarm visualizer tool: https://github.com/alexellis/swarmmode-tests/tree/master/arm |
|
@alexellis not sure where the kernel config is (I wish people would configure I think this may be the kernel config being used, maybe someone could verify https://github.com/raspberrypi/linux/blob/rpi-4.4.y/arch/arm/configs/bcm2709_defconfig |
Your link to bcm2709_defconfig is correct. |
The vxlan module has been included in the 4.4.19 kernel update. |
I tested it using @alexellis 's test suite and it worked for me after running rpi-update and rebooting. Thanks @justincormack |
I am going to close this now it is resolved - let us know if anyone has any more issues. |
It would be ideal if this worked on Arch Linux for ARM because it has AUFS baked into the Kernel and appears to anecdotally perform much faster than Overlay on Raspbian. I'll try to see what is missing - it may be vxlan and/or other things. |
@alexellis I confirm that this problem does not exist with HypriotOS v. 1.0.1 (it might have been an issue with previous v. 1.0.0) |
I've set up a Node / ExpressJS service on port 3000 with a Raspberry Pi Model 2 using the install from
get.docker.com
. If I run the container withdocker run
it works OK and returns the text "hello" fromcurl
.CC/ @ManoMarks @DieterReuter @StefanScherer
Expected:
curl -4 localhost:3000
should returnhello
Actual:
curl: (7) Failed to connect to localhost port 3000: Connection refused
Image built from:
https://github.com/alexellis/arm-alpinehello/
The text was updated successfully, but these errors were encountered: