Running multiple neo4j instance in kubernetes

Hi,

I'm deploying several neo4j instances in kubernetes. Each instance is a standalone db (i.e no clustering). I would like to be able to acees each of these dbs behid a nginx ingress controller (i.e. reverse proxy) so I know that I also need to deploy the neo4j reverse proxy chart. However, it enables to connect to a single db and not to each db individually as the ingress prefix is /. I tried to set a different prefix path (for example /db1), however, it doesn't work. Is there a solution for such scheme

Thanks,
Ilan

You need to have a different strategy if you want to expose a tcp connection (bolt clients use tcp*). Instead of a path prefix I think it would be easier to use different sub domains like db1.mydomain.com, db2.mydomain.com ...

Then for the nginx ingress controller you have to do something like SNI (nginx TLS SNI routing, based on subdomain pattern ยท GitHub) but it is a bit of a headache to get working.

(* neo4j browser and other tools use javascript driver/websocket under the hood rather than tcp session, if you are only looking to expose these tools, there will maybe be the option to use the QueryAPI/Http in the future, it would make it a lot easier and also allow path prefix way of routing requests)

Alternative to consider:
Don't expose the database at all. Deploy your backend services to k8s as well and expose them instead. If you have developers/sysadmins that need to access the database, let them "port forward" and/or deploy cypher-shell.