<p>I’d like to use Kubernetes, as I’m reading everywhere : “Kubernetes is, without a doubt, the leading container orchestrator available today.“</p>

<p>My issue here is with the networking. I need to expose external IP to each of the pods. I need that my pods are seen as if they were traditional VM or HW servers. Meaning that I need all the ports to be exposed.</p>

<p>What I see so far, is I can expose only a limited list of ports.</p>

<p>Am I correct ? Or do I miss something ?</p>

<p>Cheers,
Raoul</p>

Raoul Debaze
<p>In Kubernetes, you will need <a href="https://kubernetes.io/docs/concepts/services-networking/service/" rel="nofollow noreferrer">service</a> to communicate with pods. To expose the pods outside the Kubernetes cluster, you can use k8s service of <a href="https://kubernetes.io/docs/concepts/services-networking/service/#nodeport" rel="nofollow noreferrer"><code>NodePort</code></a> type.</p>
<pre><code>apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  type: NodePort
  ports:
    - 
      port: 8080
      nodePort: 30000
      name: my-port-8080
    -
      port: 8081
      nodePort: 30001
      name: my-port-8081
    -
      port: 8082
      nodePort: 30002
      name: my-port-8081
</code></pre>
<p>Then you will be able to reach your pods at, <code>https://&lt;node-ip&gt;:nodePort</code>.
For in-cluster communication, you can use service's dns: <code>&lt;service-name&gt;.&lt;namespace&gt;.svc:PORT</code></p>
<p><strong>Update:</strong></p>
<p>Take a look at this guide: <a href="https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/" rel="nofollow noreferrer">Using a Service to Expose Your App</a></p>
