<p>I have the following service:</p>
<pre><code>apiVersion: v1
kind: Service
metadata:
  name: hedgehog
  labels:
    run: hedgehog
spec:
  ports:
  - port: 3000
    protocol: TCP
    name: restful
  - port: 8982
    protocol: TCP
    name: websocket
  selector:
    run: hedgehog
  externalIPs:
    - 1.2.4.120
</code></pre>
<p>In which I have specified an externalIP.
I'm also seeing this IP under EXTERNAL-IP when running <code>kubectl get services</code>.
However, when I do <code>curl http://1.2.4.120:3000</code> I get a timeout. However the app is supposed to give me a response because the jar running inside the container in the deployment does respond to localhost:3000 requests when run locally.</p>

zendevil.eth
<p>First of all you have to understand you cannot place any random address in your <code>ExternalIP</code> field. Those addresses are not managed by Kubernetes and are the responsibility of the cluster administrator or you. External IP addresses specified with <code>externalIPs</code> are different than the external IP address assigned to a service of type <code>LoadBalancer</code> by a cloud provider.</p>
<p>I <a href="https://dnschecker.org/ip-whois-lookup.php?query=1.2.4.120" rel="nofollow noreferrer">checked the address</a> that you mentioned in the question and it does not look like it belongs to you. That why I suspect that you placed a random one there.</p>
<p>The same address appears in this <a href="https://medium.com/swlh/kubernetes-external-ip-service-type-5e5e9ad62fcd" rel="nofollow noreferrer">article</a> about  <code>ExternalIP</code>. As you can see here the address in this case are the IP addresses of the nodes that Kubernetes runs on.
This is potential issue in your case.</p>
<p>Another one is too verify if your application is listening on <code>localhost</code> or <code>0.0.0.0</code>. If it's really localhost then this might be another potential problem for you. You can change where the server process is listening. You do this by listening on <code>0.0.0.0</code>, which means “listen on all interfaces”.</p>
<p>Lastly please verify that your selector/ports of the services are correct and that you have at least one <a href="https://kubernetes.io/docs/tasks/debug-application-cluster/debug-service/#does-the-service-have-any-endpoints" rel="nofollow noreferrer">endpoint</a> that backs your service.</p>
