We're having great luck using traefik (https://traefik.io) as a kubernetes ingress, we just couldn't get nginx working well and ever since the switch it's been rock-solid.
Traefik is amazing - you can add it as a service with almost no config and get http2, https (with good defaults), letsencrypt and auto-discovery of services
Traefik was written before haproxy had hot reloading configuration in 1.7
It does one thing and does it well - auto configured and discoverable lb and proxying designed to run in container environments
Easy to get running, easy to know everything it can do and without much effort it gets a lot accomplished
Not that nginx and HAProxy still don't have their place, but if you want to front a docker swarm or k8 stack traefik is just easy whereas nginx/haproxy have to be configured for that task