<p dir="auto"><strong>What keywords did you search in Kubernetes issues before filing this one?</strong> (If you have found any duplicates, you should instead reply there.): dns, skydns, dns not resolving</p>
<hr>
<p dir="auto"><strong>Is this a BUG REPORT or FEATURE REQUEST?</strong> (choose one): Bug</p>
<p dir="auto"><strong>Kubernetes version</strong> (use <code class="notranslate">kubectl version</code>):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Client Version: version.Info{Major:&quot;1&quot;, Minor:&quot;3&quot;, GitVersion:&quot;v1.3.5&quot;, GitCommit:&quot;b0deb2eb8f4037421077f77cb163dbb4c0a2a9f5&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2016-08-11T20:29:08Z&quot;, GoVersion:&quot;go1.6.2&quot;, Compiler:&quot;gc&quot;, Platform:&quot;darwin/amd64&quot;}
Server Version: version.Info{Major:&quot;1&quot;, Minor:&quot;3&quot;, GitVersion:&quot;v1.3.6&quot;, GitCommit:&quot;ae4550cc9c89a593bcda6678df201db1b208133b&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2016-08-26T18:06:06Z&quot;, GoVersion:&quot;go1.6.2&quot;, Compiler:&quot;gc&quot;, Platform:&quot;linux/amd64&quot;}"><pre class="notranslate"><code class="notranslate">Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.5", GitCommit:"b0deb2eb8f4037421077f77cb163dbb4c0a2a9f5", GitTreeState:"clean", BuildDate:"2016-08-11T20:29:08Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.6", GitCommit:"ae4550cc9c89a593bcda6678df201db1b208133b", GitTreeState:"clean", BuildDate:"2016-08-26T18:06:06Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
</code></pre></div>
<p dir="auto"><strong>Environment</strong>:</p>
<ul dir="auto">
<li>Hosted GKE cluster</li>
</ul>
<p dir="auto"><strong>What happened</strong>:<br>
I created a new cluster with the <code class="notranslate">create cluster</code> button in the GUI.</p>
<p dir="auto">Then, I created a number of headless services with explicitly defined endpoints that pointed at external google cloud VMS:</p>
<p dir="auto">Endpoint:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
    &quot;kind&quot;: &quot;Endpoints&quot;,
    &quot;apiVersion&quot;: &quot;v1&quot;,
    &quot;metadata&quot;: {
        &quot;name&quot;: &quot;rabbitmq&quot;
    },
    &quot;subsets&quot;: [
        {
            &quot;addresses&quot;: [
                { &quot;ip&quot;: &quot;validExternalIP&quot; }
            ],
            &quot;ports&quot;: [
                { &quot;port&quot;: 5672 }
            ]
        }
    ]
}"><pre class="notranslate"><code class="notranslate">{
    "kind": "Endpoints",
    "apiVersion": "v1",
    "metadata": {
        "name": "rabbitmq"
    },
    "subsets": [
        {
            "addresses": [
                { "ip": "validExternalIP" }
            ],
            "ports": [
                { "port": 5672 }
            ]
        }
    ]
}
</code></pre></div>
<p dir="auto">Service:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
  &quot;apiVersion&quot;: &quot;v1&quot;,
  &quot;kind&quot;: &quot;Service&quot;,
  &quot;metadata&quot;: {
    &quot;name&quot;: &quot;rabbitmq&quot;,
    &quot;labels&quot;: {
      &quot;name&quot;: &quot;rabbitmq&quot;
    }
  },
  &quot;spec&quot;: {
    &quot;ports&quot;: [
      {
        &quot;port&quot;: 5672
      }
    ]
  }
}"><pre class="notranslate"><code class="notranslate">{
  "apiVersion": "v1",
  "kind": "Service",
  "metadata": {
    "name": "rabbitmq",
    "labels": {
      "name": "rabbitmq"
    }
  },
  "spec": {
    "ports": [
      {
        "port": 5672
      }
    ]
  }
}
</code></pre></div>
<p dir="auto">My DNS quickly began failing to resolve anything.</p>
<p dir="auto">According to <a href="http://kubernetes.io/docs/user-guide/debugging-services/" rel="nofollow">http://kubernetes.io/docs/user-guide/debugging-services/</a> this command should always work:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="root@pod:/usr/src/app# nslookup kubernetes.default
;; connection timed out; no servers could be reached"><pre class="notranslate"><code class="notranslate">root@pod:/usr/src/app# nslookup kubernetes.default
;; connection timed out; no servers could be reached
</code></pre></div>
<p dir="auto"><strong>What you expected to happen</strong>:<br>
I expected the kubedns pods to properly direct intra-cluster traffic</p>
<p dir="auto"><strong>How to reproduce it</strong> (as minimally and precisely as possible):<br>
Create a new cluster, wait</p>
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nikhiljindal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nikhiljindal">@nikhiljindal</a> there are two controllers in federation for v1.3, however the clientset of cluster controller and service controller are different so I open this issue to discuss with you how to keep them identical.</p>
<ol dir="auto">
<li>The versioned clientset kept broken before I merged service controller, like watcher always get a unversioned object so the type assertion is always failed, so after checking with caesarxuchao, I changed the clientset and object in service controller to unversioned, but in cluster controller, they are versioned. We need to decide which one we should use.</li>
<li>Cluster controller has a go file cluster_client.go to create clientset and the clientset was wrapped as private member of ClusterClient which can not be refered by service controller. In service controller, I  duplicated to origin code of NewClusterClientSet() to create clientset(discoveryClient is not needed however), however NewClusterClientSet was changed, so the right way to make it work is to add a util func to return *clientset.Clientset so that both controller can call.</li>
</ol>
<p dir="auto">what do you say?</p>