mesos-dns icon indicating copy to clipboard operation
mesos-dns copied to clipboard

Returns docker container IP instead of mesos host one

Open eLvErDe opened this issue 9 years ago • 3 comments

Hello,

I have a docker container running RMQ, in Marathon. One port is tagged as amqp (data protocol), the other one as mgmt (management interface)

Where doing:

dig -t SRV _amqp._rabbitmq-sentinelpoller-geojson.sentinel.data-pollers._tcp.marathon.mesos

I received the following answer:

;; ANSWER SECTION:
_amqp._rabbitmq-sentinelpoller-geojson.sentinel.data-pollers._tcp.marathon.mesos. 30 IN SRV 0 0 31673 rabbitmq-sentinelpoller-geojson.sentinel.data-pollers-ywmud-s8.marathon.mesos.

;; ADDITIONAL SECTION:
rabbitmq-sentinelpoller-geojson.sentinel.data-pollers-ywmud-s8.marathon.mesos. 30 IN A 172.17.0.2

I do not expect to receive 172.17.0.2 as address which is the internal NON-ROUTED docker address. Actually marathon also display a link to both data and mgmt port and use the right mesos host address.

Did I do something wrong ?

Best regards, Adam.

eLvErDe avatar Oct 05 '16 12:10 eLvErDe

Hello,

Okay, it seems to be related to IPSources setting:

https://mesosphere.github.io/mesos-dns/docs/configuration-parameters.html

IPSources defines a fallback list of IP sources for task records, sorted by priority. If you use Docker, and enable the netinfo IPSource, it may cause tasks to become unreachable, because after Mesos 0.25, the Docker executor publishes the container's internal IP in NetworkInfo.

The default value is: ["netinfo", "mesos", "host"]

Switching to host first fix it. Would you consider changing the default setting ? I don't really see the point returning the docker private address, it's completly pointless as mesos uses docker-proxy to bind the port on the host itself.

eLvErDe avatar Oct 05 '16 13:10 eLvErDe

We've considered changing the default setting but have avoided doing so because (a) it breaks behavior that long-time users expect (and have scripted for in production); (b) it's easy enough to configure what you really want, and; (c) it's extremely difficult to arrive at a default that satisfies nearly everyone OOTB because clusters come in many flavors.

We've tried to do a good job documenting this behavior. It's arguable that we could do better. What would have helped you troubleshoot this more quickly?

jdef avatar Jul 12 '17 12:07 jdef

@jdef looks like official documentation are outdated http://mesosphere.github.io/mesos-dns/docs/configuration-parameters.html, it doesn't contain IPSources field.

xkrt avatar Mar 06 '18 14:03 xkrt