Recent user of Metaflow. I've tried it in two ways.
1. ingress-nginx, with oauth2 verification - I used Github, which allowed me to control access to metaflow-ui based on github repo access. Unfortunately, I didn't solve for metaflow-service since I was not sure how the client will use auth to launch jobs from someone's mac (if you're launching the flow from a notebook inside k8s, this shouldn't be a problem).
2. Use a VPN - the company i was working with already had a vpn set up. So I set up k8s in the VPC for that VPN and put the worker nodes on private subnet. No additional auth needed in this case.