<p>I have a kubernetes with 3 nodes:</p>

<pre><code>[root@ops001 ~]# kubectl get nodes
NAME            STATUS   ROLES    AGE    VERSION
azshara-k8s01   Ready    &lt;none&gt;   143d   v1.15.2
azshara-k8s02   Ready    &lt;none&gt;   143d   v1.15.2
azshara-k8s03   Ready    &lt;none&gt;   143d   v1.15.2
</code></pre>

<p>when after I am deployed some pods I found only one nodes <code>azshara-k8s03</code>  could resolve DNS, the other two nodes could not resolve DNS.this is my azshara-k8s03 host node /etc/resolv.conf:</p>

<pre><code>options timeout:2 attempts:3 rotate single-request-reopen
; generated by /usr/sbin/dhclient-script
nameserver 100.100.2.136
nameserver 100.100.2.138
</code></pre>

<p>this is the other 2 node /etc/resolv.conf:</p>

<pre><code>nameserver 114.114.114.114
</code></pre>

<p>should I keep the same ? what should I do to make the DNS works fine in 3 nodes?</p>

<p>did you try if <code>114.114.114.114</code> is actually reachable from your nodes? if not, change it to something that actually is ;-]</p>

<p>also check which <code>resolv.conf</code> your kublets actually use: it is often something else than <code>/etc/resolv.conf</code>: do <code>ps ax |grep kubelet</code> and check the value of <code>--resolv-conf</code> flag and see if the DNSes in that file work correctly.</p>

<p><strong>update:</strong></p>

<p>what names are failing to resolve on the 2 problematic nodes? are these public names or internal only? if they are internal only than 114.114.114 will not know about them. <code>100.100.2.136</code> and <code>100.100.2.138</code> are not reachable for me: are they your internal DNSes? if so try to just change <code>/etc/resolv.conf</code> on 2 nodes that don't work to be the same as on the one that works.</p>
