<p>I've got a 5 node kubernetes cluster set up with 3 HA masters working nicely. Unfortunately DNS is not working or doesn't exist as a service to my knowledge.</p>

<p>The api-server, controller-manager, and scheduler are all running in pods and working correctly using the hyperkube 1.4.6 image on quay. I've created manifests for the dns service following <a href="https://coreos.com/kubernetes/docs/latest/deploy-addons.html" rel="nofollow noreferrer">https://coreos.com/kubernetes/docs/latest/deploy-addons.html</a> in /etc/kubernetes/addons but they don't seem to have an effect. I was under the impression that DNS was built in to kubernetes at this point but I'm having a hard time figuring out what component it's built in to or how to start it.</p>

<p>Does the <code>apiserver</code> read the contents of <code>/etc/kubernetes/addons</code> or the <code>kubelet</code>? I'm wondering if I need to mount <code>/etc/kubernetes/addonss</code> as a volume on the <code>apiserver pod</code>.</p>

<p>The addons are handled differently by different deployment methods. The <a href="https://coreos.com/kubernetes/docs/latest/deploy-addons.html" rel="nofollow noreferrer">CoreOS method</a> that you linked to simply has you start them by hand using <code>kubectl create -f dns-addon.yml</code>; there is no automation around that. If you did not run that command, give it a try and see if that solves your issue.</p>

<p>As mentioned above, other deployment methods do this as part of the deployment. The Salt-based <code>kube-up.sh</code> method, for example, uses a "watcher" pod called the <code>kube-addon-manager</code>(<a href="https://github.com/kubernetes/kubernetes/blob/ef0e13bd7d41d678d14d591341982e41db16bef5/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml" rel="nofollow noreferrer">manifest</a>, <a href="https://github.com/kubernetes/kubernetes/tree/v1.4.3/cluster/addons/addon-manager" rel="nofollow noreferrer">code</a>). The <code>kops</code> deployment method deploys <code>kube-dns</code>, but uses <code>kubectl</code> for other addons, as outlined <a href="https://github.com/kubernetes/kops/blob/master/docs/addons.md" rel="nofollow noreferrer">here</a>. Since these addons are really not different from normal applications running on Kubernetes in the sense that they are just using normal Kubernetes manifests, there is some variation out there. You basically can take what your deployment method gives you and alter it to the needs of your environment.</p>
