True :)
On Thu, Apr 2, 2015 at 3:37 PM, Tom Arnfeld <[email protected]> wrote: > Last time I checked haproxy didn't support UDP which would be key for > mesos-dns. > > -- > > Tom Arnfeld > Developer // DueDil > > (+44) 7525940046 > 25 Christopher Street, London, EC2A 2BS > > > On Thu, Apr 2, 2015 at 3:53 PM, John Omernik <[email protected]> wrote: > >> That was my first response as well... I work at a bank, and the thought >> of changing dns servers on the clients everywhere made me roll my eyes :) >> >> John >> >> >> On Thu, Apr 2, 2015 at 9:39 AM, Tom Arnfeld <[email protected]> wrote: >> >>> This is great, thanks for sharing! >>> >>> It's nice to see other members of the community sharing more realistic >>> implementations of DNS rather than just "update your resolv conf" and it >>> works :-) >>> >>> -- >>> >>> Tom Arnfeld >>> Developer // DueDil >>> >>> (+44) 7525940046 >>> 25 Christopher Street, London, EC2A 2BS >>> >>> >>> On Thu, Apr 2, 2015 at 3:30 PM, John Omernik <[email protected]> wrote: >>> >>>> Based on my earlier emails about the state of service discovery. I did >>>> some research and a little writeup on how to use mesos-dns as a forward >>>> lookup zone in a enterprise bind installation. I feel this is more secure, >>>> and more comfortable for an enterprise DNS team as opposed to changing the >>>> first resolver on every client that may interact with mesos to be the >>>> mesos-dns server. Please feel free to modify/correct and include this in >>>> the mesos-dns documentation if you feel it's valuable. >>>> >>>> >>>> Goals/Thought Process >>>> - Run mesos-dns on a non-standard port. (such as 8053). This allows >>>> you to run it as a non-root user. >>>> - While most DNS clients may not understand this (a different port), in >>>> an enterprise, most DNS servers will respect a forward lookup zone with a >>>> server using a different port. >>>> - Setup below for BIND9 allows you to keep all your mesos servers AND >>>> clients in an enterprise pointing their requests at your enterprise DNS >>>> server, rather than mesos-dns. >>>> - This is easier from an enterprise configuration standpoint. Make >>>> one change on your dns servers, rather than adding a resolver on all the >>>> clients. >>>> - This is more secure in that you can run mesos-dns as non-root (53 >>>> is a privileged port, 8053 is not) no sudo required >>>> - For more security, you can limit connections to the mesos-dns >>>> server to only your enterprise dns servers. This could help mitigate any >>>> unknown vulnerabilities in mesos-dns. >>>> - This allows you to HA mesos-dns in that you can specify multiple >>>> resolvers for your bind configuration. >>>> >>>> >>>> >>>> >>>> Bind9 Config >>>> This was put into my named.conf.local It sets up the .mesos zone and >>>> forwards to mesos dns. All my mesos servers already pointed at this server, >>>> therefore no client changes required. >>>> >>>> >>>> #192.168.0.100 is my host running mesos DNS >>>> zone "mesos" { >>>> type forward; >>>> forward only; >>>> forwarders { 192.168.0.100 port 8053; }; >>>> }; >>>> >>>> >>>> >>>> >>>> config.json mesos-dns config file. >>>> I DID specify my internal DNS server in the resolvers (192.168.0.10) >>>> however, I am not sure if I need to do this. Since only requests for >>>> .mesos will actually be sent to mesos-dns. >>>> >>>> { >>>> "masters": ["192.168.0.98:5050"], >>>> "refreshSeconds": 60, >>>> "ttl": 60, >>>> "domain": "mesos", >>>> "port": 8053, >>>> "resolvers": ["192.168.0.10"], >>>> "timeout": 5, >>>> "listener": "0.0.0.0", >>>> "email": "root.mesos-dns.mesos" >>>> } >>>> >>>> >>>> marathon start json >>>> Note the lack of sudo here. I also constrained it to one host for now, >>>> but that could change if needed. >>>> >>>> { >>>> "cmd": "/mapr/brewpot/mesos/mesos-dns/mesos-dns >>>> -config=/mapr/brewpot/mesos/mesos-dns/config.json", >>>> "cpus": 1.0, >>>> "mem": 1024, >>>> "id": "mesos-dns", >>>> "instances": 1, >>>> "constraints": [["hostname", "CLUSTER", "hadoopmapr1.brewingintel.com >>>> "]] >>>> } >>>> >>> >>> >> >

