does weave support containers talking outside of weave virtual network?
like the app is in weave virtual network and DBs are in physical servers
achanda joined the channel
achanda joined the channel
achanda joined the channel
dylanmei joined the channel
achanda joined the channel
dylanmei joined the channel
hennaheto joined the channel
hennahet_ joined the channel
hennaheto has quit
Spanktar joined the channel
SpankyFromBRC joined the channel
hennahet_ has quit
jodok joined the channel
destiny
nice question sujith
achanda joined the channel
achanda joined the channel
trifygri joined the channel
squaremo
sujith: Yes, you can always give containers another interface. In fact, in the default set-up a container will have two interfaces, one on the weave network and one on the (host-only) docker network.
which might be preferred if only some of your containers can reach the DB directly
errordeveloper joined the channel
moonfish joined the channel
hennaheto joined the channel
hennaheto has quit
awh has quit
awh joined the channel
awh is now known as Guest95758
Guest95758 has quit
dylanmei joined the channel
awh joined the channel
awh is now known as Guest64369
Guest64369 is now known as awh
errordeveloper joined the channel
dylanmei joined the channel
binocarlos joined the channel
binocarlos has quit
dpw joined the channel
trifygri joined the channel
binocarlos joined the channel
hennaheto joined the channel
hennaheto has quit
hennaheto joined the channel
moonfish has quit
awh has quit
trifygri joined the channel
moonfish joined the channel
achanda joined the channel
dylanmei joined the channel
mameen joined the channel
mameen
hi. if i don't want some services to communicate or use weave, is there a way to tell weave to exclude that traffic?
moonfish
mameen: don't attach them to the weave network
mameen
moonfish: I should've explained better.. i run let's say service A in a container, that includes Consul agent. I specify --net=host option for communications with A from other VMs. But I'd like Consul agent to communicate via weave. Is it possible?
moonfish
oh, so you have multiple processes in a single container, and want some to use weave but not others?
mameen
exactly!
moonfish
actually, looking at what you just wrote, why do you need the --net=host? Couldn't you use weave's service export feature?
--net=host and weave don't mix well.
mameen
yes, i could and it works but with weave don't get required network througput
so was trying to see if i can cherry pick to tell the services whether to use weave or not!
moonfish
could you expose the service in the normal docker way, i.e. with port publishing?
then you wouldn't have to run with --net=host
mameen
unfortunately not yet, it uses a wide range of ephemeral ports for clients to connect. it's in works to define a port range that can then be exposed rather than --net=host
moonfish
in that case the only other option I can think of is to run the consul agent in a separate container. but that would presumably defeat its purpose.
btw, I am surprised that exposing the service gives you unsatisfactory performance.
it should not impose any more overhead than what docker is doing when publishing ports of containers.
mameen
issue is network throughput performance when using weave. > 10x drop that's not feasible.
but thanks for your responses
hennaheto has quit
hennaheto joined the channel
moonfish
the 10x drop should only occur when going across hosts.
when you expose a service that is provided by a container on the same host then the weave router doesn't get involved; it's all handled by the linux kernel, bridges, iptables, etc.
mameen
<moonfish> that's true. for consul agent running along service A, i'd like that to register to a centralized consul server and the need to cross VM/host boundaries.
moonfish
right. and that consul communication should pose no performance problem for weave.
mameen
well true, it's insignificant and can be ignored. that's not true for service A that's network intensive
moonfish
right. so run both in a single weave container, expose the service to the hosty through weave's service export (which should be able to handle port ranges, with the right iptables magic), and let consul communicate over weave.