title: How to change the cluster.local default domain on kubernetes 1.9 deployed with kubeadm?
body: <p>I would like to resolve the kube-dns names from outside of the Kubernetes cluster by adding a stub zone to my DNS servers. This requires changing the cluster.local domain to something that fits into my DNS namespace.</p>
  <p>The cluster DNS is working fine with cluster.local. To change the domain I have modified the line with KUBELET_DNS_ARGS on /etc/systemd/system/kubelet.service.d/10-kubeadm.conf to read:</p>
  <pre><code>Environment=&quot;KUBELET_DNS_ARGS=--cluster-dns=x.y.z --cluster-domain=cluster.mydomain.local --resolv-conf=/etc/resolv.conf.kubernetes&quot;
  </code></pre>
  <p>After restarting kubelet external names are resolvable but kubernetes name resolution failed.</p>
  <p>I can see that kube-dns is still running with:</p>
  <pre><code>/kube-dns --domain=cluster.local. --dns-port=10053 --config-dir=/kube-dns-config --v=2
  </code></pre>
  <p>The only place I was able to find cluster.local was within the pods yaml configuration which reads:</p>
  <pre><code>  containers:
    - args:
      - --domain=cluster.local.
      - --dns-port=10053
      - --config-dir=/kube-dns-config
      - --v=2
  </code></pre>
  <p>After modifying the yaml and recreating the pod using</p>
  <pre><code>kubectl replace --force -f kube-dns.yaml
  </code></pre>
  <p>I still see kube-dns gettings started with --domain=cluster.local.</p>
  <p>What am I missing?</p>