I want to develop a custom API gateway for kubernetes to support user-based routing to canary release. I haven't found even any API gateway which serves this purpose.
Istio Service Mesh allows you to do just that. You can route users to different application versions by creating routing rules based on custom headers, cookies, etc...
If there's no specific rules, you can expose services with different weights (i.e 90% - 10%).
Of course it's installable on top of Kuberenetes and replaces the ingress controller.
Hope this helps.