I haven't used kubernetes yet, but https://traefik.io/ was a great reverse proxy in combination with docker swarm. I imagine it works great with kubernetes, too.
Putting a few labels on the containers you want to expose with your reverse proxy is all you need to do. Traefik continuously monitors docker to react to changes. Traefik handles load balancing and automatic certificate generation with ACME, too