Search code examples
kuberneteseventsingress-nginx

kubernetes/ingress-nginx creates huge number of sync events


I noticed that during the ingress-nginx pod creation/termination, there is a huge number of events created. Further "investigation" showed that each nginx pod creates

42s         Normal    Sync     ingress/name    Scheduled for sync 

event for each ingress objects.

For perspective, with some approximate imaginary numbers:

  • The moment you kubectl rollout restart ingress-nginx all ingress-nginx pods will terminate (not simultaneously as there is a proper PDB setup).
  • During restart, each pod will create sync event object for each ingress object in the cluster.
  • So if there are 100 ingress-nginx pods with 500 ingress objects, that will span 50k sync events.

I could not find any mentions about it in the docs/ingress-nginx issues

The question: is it expected behavior?


Solution

  • This is expected behavior.

    As we can see here, this is an informer, which creates the sync event for each valid ingress. In turn, this informer is added to the store on each ingress-controller pod, see more here.