Docker Swarms, vxlan kernel module

  • Hi,


    I'm using Libreelec 9.0.1 with the latest docker add-on provided from the repo. I have other docker nodes that aren't running Libreelec. Although I can add libreleec to my swarm just fine, any containers using an overlay network (either created manually or via the manager) fail to start since it seems to require vxlan be compiled in the kernel.


    I've tried multiple containers and methods and overlay networks always fail, regardless of whether its in a swarm or not.


    eg:

    network sandbox join failed: subnet sandbox join failed for "10.0.2.0/24": error creating vxlan interface: operation not supported"


    Creating a vxlan manually as root throws the same error, even if docker isn't in the mix at all.


    tl;dr: Docker overlay networks used in docker swarms require vxlan interfaces, which isn't enabled in the kernel. Is enabling it possible?


    Thanks! :)

  • Hi,


    Swarms are native clustering for Docker and useful if you have multiple hosts running on seperate machines. It allows running containers on different machines to share resources like networks, secrets, etc and well as basic load balancing etc.


    They're useful in any case where you have more than one docker host. In my particular instance, it was because LE and my other docker host are relatively low powered machines and I wanted to move some containers around for performance reasons.


    It's built into docker so the current official add-on supports creating and joining swarms and gives the appearance that everything is working when in reality the underlying docker network doesn't work.


    I have no idea what the implications or risks are of adding kernel modules, and I've worked around my particular problem. It also looks like I'm the only one who has ever brought this up...


    If it's not doable, because it's a standard docker feature, perhaps the fact swarms aren't supported could be added to the add-on text or wherever is appropriate.


    At the very least this thread will save people from trying to debug this for days like I did ;)


    Thanks for your help


    Kris