The property InstanceName is a very importnat piece of configuration when it comes to sitecore events.
Sitecore Events
If you look in the Properties table of the web database (linked to your CD pods), you should find a record with a key like this:
{DatabaseName}-EQSTAMP-{ComputerName}-{InstanceName}
The value assigned to this record should correlate to the last event in the EventQueue table that was processed on relevant pod (i.e. InstanceName on ComputerName).
Note: the stamp shown in the properties table is base 10, whereas the value shown in the event queue is base 16. So you need to use an online converter to compare.
In your situation
If all your pods have the same instance name, then only one of pods will likely consume the event. It will then update the stamp, which means when other pods check to see if there are any events to consume it will find none need processing.
Assign unique InstanceName in Kubernetes
In order to assign a unique InstanceName value in each CD pod in your kubernetes cluster, you need to make use of environment variables. In the specification file for your CD pod, you should have something like this set:
env:
- name: Sitecore_InstanceName
valueFrom:
fieldRef:
fieldPath: metadata.name
This should result in values similar to myapp-0, myapp-1 and so on. With this in place, it should override file based configuation.
Further information
How is the Event Queue Procerssed
Sitecore Environment Variables