SkyDNS in Daemon Sets and local DNS resolution

We are thinking about running SkyDNS on every Kubernetes host with Daemon Sets or static pods (via the Kubernetes manifest). We want to make every container use the local SkyDNS, deliberately bypassing Kubernetes cluster IP / kube-proxy routing. One way to achieve this would be to map DNS port 53 from the SkyDNS pod to each host and force each container to resolve on the host. Probably by somehow passing the docker bridge IP to the kubelet with –cluster-dns in a systemd unit.

Are there better alternatives to achieve the same?

  • Specify container deployment target with Kubernetes, e.g. Test/Production
  • Understanding chroot
  • Select Node variables LISTEN and SERVER through a docker image
  • BigChainDB in Docker immediately crashes with Connection Refused?
  • manage more than one Elasticsearch container with docker-compose
  • How do I run a sql file of inserts through docker run?
  • Thanks,
    Andrej

  • Fedora docker.io seems to not support btrfs
  • commandline to notify when an image is added/updated in private docker registry
  • How does the microservice API gateway pattern work with auto Horizontal scaling?
  • php-fpm child process exited on signal 11
  • How to set Zookeeper dataDir in Docker (fig.yml)
  • LDAP authentication in Docker container
  • One Solution collect form web for “SkyDNS in Daemon Sets and local DNS resolution”

    It sounds like you’re on the right track. I’d pass the localhost address to the kubelet’s --cluster-dns flag and promote the skydns container’s UDP and TCP ports to be hostPorts.

    That’ll require the least configuration and the least additional privilege for the DNS pod.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.