The nginx ingress controller with kube-lego is officially my new favourite thing. Got it up and running on three clusters I manage a month or so ago and haven't looked back.
So great to just push an ingress manifest and 10 minutes later suddenly get redirected to HTTPS.
Either use Caddy (1) or integrate with nginx, traefik, gke or any other kubernetes ingress server via kube-lego (2).
1: https://caddyserver.com/ 2: https://github.com/jetstack/kube-lego