Is It possible to manage Mesos/Marathon tasks by Rancher Load Balancer? and few additional Mesos related questions


Recently I installed Rancher cluster with Mesos environment - Im really happy with simplicity of installing and adding new nodes (at DCOS is much more painful process). But because Rancher docs not cover Mesos environment yet, for me few things looks very not transparent - see questions below:

  • How can I point rancher load balancer to app at Marathon?
    (for example I have app task with name “hello-world”, which may float between mesos nodes some times (at restart for example))

  • Is it possible to allow marathon apps be automatically discovered by load balancer? (for internal usage)

  • Which DNS names marathon apps has by default inside a cluster (at DCOS it’s something like this: .marathon.mesos or ._tcp.marathon.mesos)

  • If I need to install some kind of Mesos framework which is currently doesn’t exist at rancher catalog - how can I do this? which of approaches is most suitable for that? Is it possible to do that by updating mesos images which rancher managing.

  • Because rancher is used overlay network - is it possible to enable IP per task feature at marathon?

I have the same question. We currently use Mesos/Marathon heavily at my company to manage scheduling of all of our infrastructure, and I’m extremely excited about the possibility of finally being able to use Rancher to easily configure Mesos/Marathon as well as having the normal Cattle infrastructure. The opportunities for us would be huge.

I was able to get this to partially work with Amazon hosts by running mesosphere/marathon-lb as a service in Rancher (which basically talks to Marathon and exposes the instances by their service ports and any additional VHOST labels), but the showstopper for me was when it tried to forward the requests on to the external IPs of the servers instead of using the internal IPs. I could probably hack up marathon-lb and force it to use the internal IPs, but I am also curious if there is a less hacky approach I could take using the built-in Rancher load balancers. It seems it would only need to query Marathon in the same way as marathon-lb to get a list of service ports, and expose them (maybe with additional port mapping settings)?