Richard Bucker

Weave vs Flannel

Posted at — Jul 4, 2016

While Weave and Flannel have some features in common weave includes DNS for service discovery and a wrapper process for capturing that info. In order to get some parity you’d need to add a DNS service like SkyDNS and then write your own script to weave the two together.In Weave your fleet file might have some of this:[Service]. . .ExecStartPre=/opt/bin/weave run –net=host –name bob ncx/bobExecStart=/usr/bin/docker attach bobIn sky + flannel it might look like:[Service]. . .ExecStartPre=docker run -d –net=host –name bob ncx/bobExecStartPre=etcdctl set /skydns/local/ncx/bob ‘{“host”:“docker inspect --format '{{ .NetworkSettings.IPAddress }}' bob”,“port”:8080}‘ExecStart=/usr/bin/docker attach bobI’d like it to look like this:[Service]. . .ExecStartPre=skyrun –net=host –name bob ncx/bobExecStart=/usr/bin/docker attach bobThat’s the intent anyway. I’m not sure the exact commands will work and that’s partly why weave wants you to run the docker command inside weave command. I’ve set aside a project repo and I should have some code shortly.