mesos-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andras Kerekes <>
Subject service discovery in Mesos on CoreOS
Date Mon, 29 Jun 2015 22:23:46 GMT


Is there a preferred way to do service discovery in Mesos via mesos-dns
running on CoreOS? I'm trying to implement a simple app which consists of
two docker containers and one of them (A) depends on the other (B). What I'd
like to do is to tell container A to use a fix dns name
(containerB.marathon.mesos in case of mesos-dns) to find the other service.
There are at least 3 different ways I think it can be done, but the 3 I
found all have some shortcomings.


1.       Use SRV records to get the port along with the IP. Con: I'd prefer
not to build the logic of handling SRV records into the app, it can be a
legacy app that is difficult to modify

2.       Use haproxy on slaves and connect via a well-known port on
localhost. Cons: the Marathon provided script does not run on CoreOS, also I
don't know how to run haproxy on CoreOS outside of a docker container. If it
is running in a docker container, then how can it dynamically allocate ports
on localhost if a new service is discovered in Marathon/Mesos?

3.       Use dedicated port to bind the containers to. Con: I can have only
as many instances of a service as many slaves I have because they bind to
the same port.


What other alternatives are there?




View raw message