Yes it appears that mesos-dns does use SRV records - I should really check it out :)
On 2 August 2015 at 10:50, Ryan Thomas <[email protected]> wrote: > Hey Itamar, > > Using DNS to redirect to a port will only be possible if you're using SRV > records (I'm not sure what mesos-dns uses) but this doesn't really matter > as it won't be looked up by the browser. > > For this solution I have a small daemon written in go running on a number > of hosts (that aren't slaves), this locates the marathon master, and pulls > down my apps - I tag apps with a "Host" label (something like > foo.example.com) and then I create a haproxy config file with backends > directed by the host header. There's a few more smarts in it around only > pulling apps with a green healthcheck etc. > > This daemon manages the lifecycle of haproxy on the node - it uses a > polling model, not an event driven one from the marathon event stream. > > Another solution that uses the event-stream is this one > https://github.com/QubitProducts/bamboo - it's been a while since I > checked it out, but was functional back then. > > Hope that helps. > > ryan > > On 2 August 2015 at 07:10, Itamar Ostricher <[email protected]> wrote: > >> I use marathon to launch a nginx-docker-container named "my-app", and set >> up Mesos-DNS, such that "my-app.marathon.mesos" returns the IP of the slave >> running the container (e.g. 10.20.30.40). >> >> Now, "my-app" is running on some dynamically-allocated port (e.g. 31001), >> but I would like http://my-app.marathon.mesos/foo to hit my app at >> http://10.20.30.40:31001/foo >> >> Is there a "best practice" way to achieve this behavior? >> >> I was thinking about a proxy running on each slave, listening on port 80, >> redirecting incoming HTTP requests based on the request host to the correct >> port on localhost. The "correct port" can be determined by querying >> mesos-dns itself. >> >> This sounds like a pretty common use-case, so I wondered if anyone can >> point me at an existing solution for this. >> >> Thanks! >> - Itamar. >> > >

