Enable DNS for services

Open issues as of 11/15

Needs e2e testing

Question: Can services exist above "default"?  I.e. do we need to search (domain) and (ns).(domain) or just (ns).(domain) ?

Should default.(domain) be in everyone's search list?

TODO: plumb DNS to minion's resolv.conf for use from host

TODO: fix portals for UDP from host (works from a container)
 - source address is wrong on response from host:
   OUTPUT -> -A KUBE-PROXY-LOCAL -d 10.0.0.10/32 -p udp -m comment --comment skydns -m udp --dport 53 -j DNAT --to-destination 10.240.239.33:41504

TODO: Need a specific version tag on the skydns, kube2sky, and etcd containers.

I consider this an edge case I would want to know about.
On Nov 17, 2014 10:25 AM, "Daniel Smith" <notifications@github.com> wrote:

> In contrib/dns/kube2sky/kube2sky.go:
>
> > +
> > +	ch := watcher.ResultChan()
> > +	for {
> > +		select {
> > +		case event, ok := <-ch:
> > +			if !ok {
> > +				log.Printf("watchLoop channel closed")
> > +				return
> > +			}
> > +
> > +			if event.Type == kwatch.Error {
> > +				if status, ok := event.Object.(*kapi.Status); ok {
> > +					log.Printf("Error during watch: %#v", status)
> > +					return
> > +				}
> > +				log.Fatalf("Received unexpected error: %#v", event.Object)
>
> If return makes no sense, then Fatalf makes less sense (it kills the
> program).
>
> --
> Reply to this email directly or view it on GitHub
> <https://github.com/GoogleCloudPlatform/kubernetes/pull/2224/files#r20453476>
> .
>