<p>I have pods running on different nodes. But when I execute the command
<code>curl -s checkip.dyndns.org</code>, I am getting the same public IP for all. So, is the pod's public IP different from the public IP of the node it is running?</p>
<p>Also, when I execute the command <code>kubectl get nodes -o wide</code>, I get <code>EXTERNAL-IP</code> as <code>&lt;none&gt;</code> and there is only <code>INTERNAL-IP</code>.</p>
<p>I actually need the node's public IP address to access Kubernetes <strong>NodePort</strong> service.</p>

<p><code>...when I execute the command curl -s checkip.dyndns.org, I am getting the same public IP for all.</code></p>
<p>That's your NAT public IP.</p>
<p><code>I actually need the node's public IP address...</code></p>
<p>The node needs to run in a subnet that allows direct (no NAT) Internet access and have public IP assigned. You can find this info on your cloud provider console; or in the node run <code>ip addr show</code> to see all IP(s) assigned to the node.</p>
