<p>I have a Kubernetes cluster with 1 control-plane and 1 worker, the worker has in it 3 pods. The pods and service with Type: NodePort are on the same node. I was expecting the service to load balance the requests between the pods but looks like all the requests are always getting forwarded to only one pod.</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: web-svc
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
    nodePort: 30002
  selector:
    app: web
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
  labels:
    app: web
spec:
  selector:
    matchLabels:
      app: web
  replicas: 3
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - name: web-app
        image: webimage
        ports:
          - containerPort: 80
        imagePullPolicy: Never
        resources:
          limits:
            cpu: "0.5"
          requests:
            cpu: "0.5"
~
</code></pre>

Zaharlan
<p>This is expected behavior if your requests have persistent TCP connection. Try adding <code>&quot;connection&quot;:&quot;close&quot;</code> in your HTTP header.</p>
