NodePort with three replicas: random failures

Hello,

I deployed a Kubernetes deployment with 3 pod replicas using the following yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

I then deployed a NodePort service using the following yaml:

apiVersion: v1
kind: Service
metadata:
  name: ngnix-service
spec:
  selector:
    app: nginx
  type: NodePort
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

The problem I’m facing is that I am having intermittent issues with the pods: when I send requests to the webservers deployed at the pods, they frequently timeout. I do not have this issue when I run only one replica.

Cluster information:

Kubernetes version: v1.28.10
Cloud being used: FABRIC testbed
Host OS: Ubuntu 20.04.6 LTS (Focal Fossa)
CNI and version: flannel 0.3.1