What do I need to take into comparison to pick the kubernetes ingress controller / load balancer?
For example, I found this fancy implementation of Azure Application Gateway as ingress controller. But what are the benefits of using this setup compared to the simplest nginx or maybe traefik?
Ingress Controller components are based on a contract, to allow external traffic to impact the internal workload using a predefined YAML representation (the Ingress resource).
Each Ingress Controller provides further features, like NGINX Ingress Controller with web-socket support or Traefik that provides HTTP/2 and gRPC support with ease, till the new HAProxy that allows also TCP/L4 external routing. Some Ingress Controller also provide additional features, like Traefik (and HAProxy as well), like a simpler Circuit Breaker implementation thanks to Kubernetes annotations.
First of all, you have to understand which kind of feature you really want and need and, finally, also considering your knowledge to debug the whole stuff, even considered the community is always available to support other people.