<p>I have setup my kubernetes cluster from scratch following this doc: <a href="https://kubernetes.io/docs/getting-started-guides/scratch/" rel="noreferrer">https://kubernetes.io/docs/getting-started-guides/scratch/</a></p>

<p>My kubernetes master and worker are working correctly, but I didn't find the instruction to deploy dns addons.</p>

<p>Addons can be deployed through yaml files as well as using the <code>addon manager</code>. I have already installed <code>dashboard</code>, <code>monitoring</code>, <code>DNS</code> manually using the <code>yaml</code> files provided (with small modifications) in this <a href="https://github.com/kubernetes/kubernetes/tree/master/cluster/addons" rel="noreferrer">repo</a>.</p>

<p>Please note <code>addon-manager</code> is pretty special, You should copy all files into a directory then:</p>

<pre><code>./kube-addons.sh
</code></pre>

<p>Btw I prefer installing addons manually instead of using addon manager.</p>

<p><strong>DNS addon manual example:</strong></p>

<p>Take the <code>kubedns-controller.yaml.sed</code>,
Replace the <code>$DNS_DOMAIN</code>  with <code>cluster.local</code>(you should use the domain specified in your setup here). You can also set it as a variable. Please note there are multiple occurrences in this file.</p>

<p>Then:</p>

<pre><code>mv kubedns-controller.yaml.sed kubedns-deployement.yaml
kubectl create -f kubedns-deployement.yaml
</code></pre>
